Hello World!

其实只是心血来潮想像大佬们一样拥有一个属于自己的网站,这真得很coooool!

朋友们好呀!哎呀真开心见到你们,我先介绍下吧嘿嘿。

我是一名大一新生(大一下了是不是应该叫老新生了呢?)加入了学校的实验室,在老大们的带领下正在学习Misc(学了大半年了还是只会那两下呜呜呜我是菜狗),在某天(其实就是今天啦)搜查资料社工的时候突发奇想:我也想要有一个自己的博客!!于是在深夜冲动头脑的加持下立刻找教程买域名,捣鼓捣鼓就生下了这个博客!!!ohhhhhhhhhh!(不知道在ohhhh些什么但是ohhhhhh!)

其实并没有什么特别想要发博客的欲望,但是有想法就要赶紧去做不然就再也不会实施它了(仅对我而言),所以从产生这个想法到建设完成一个新博客只用了几个小时(在奇怪的地方特别有行动力呢)真的很仓促很简略啦但是这是我第一个博客,以后再慢慢完善吧,毕竟完成比完美更重要嘛(其实是根本没那个能力做到完美而已吧你这懒狗!)~

总而言之

Hello World!

Misc学习笔记-yu1i(简陋|破烂|未完成版)

回老家过年的时候心血来潮和老大说要整理一下目前学到的东西,结果一直拖拖拉拉没有完成(好吧其实现在也没完成,后续还会润色修改的,目前是超级Demo版!放上来丢人现眼也是为了让自己的羞耻心打败拖延症的说)


(引用自老大2hi5hu师傅)Misc 是英文 Miscellaneous 的前四个字母,杂项、混合体、大杂烩的意思 主要包含以下几个大方向: 隐写取证是 Misc 中最为重要的一块,包括文件分析、隐写、内存镜像分析和流量抓包分析等等,涉及巧妙的编码、隐藏数据、层层嵌套的文件中的文件,灵活利用搜索引擎获取所需要的信息等等。

OSINT

信息搜集,一般称为社工题(社会工程学),答题者需要自主利用搜索引擎等进行相关信息的搜集,然后找到flag。

常见的题型为根据图片找到坐标和航班信息,坐标可以用各种AI(大概率不准确,但是可以提供思路),百度搜图和地图软件;航班信息可以上飞常准和航旅纵横之类的软件进行查询,能找到所属航空公司更好,直接去官网找。

答题方向

可以通过图片内的街景,行人穿着,建筑风格以及Exif的经纬度等来确定信息,结合题目给的hint进行推导

ai

ai题一般出题者会给出一个模型,然后答题者需要与ai模型进行对话或直接对源代码进行抓包来获取flag

答题方向

目前ai题见得比较少也比较简单,可以通过一些AI的漏洞:比如复述完全的安全准则;或者在input中注入admin权限,伪装调试模式之类

编码分析

相对简单(?)大部分时候丢进chef就能解,小部分时候用随波也能解,更小部分要自己找映射再解。

常见编码

Base家族(参考自(https://blog.csdn.net/hutuhutubumihu/article/details/146046250))base解密网站

Base16(即hex)

特征:含有0-9,A-F,无特殊符号,常见于硬件通信或简单编码场景。 分辨:hex。

base32

特征:含有2-7,A-Z,末尾可能有最多6个=。 分辨:全大写;多=。

base64

特征:含有0-9,A-Z,a-z,+,/,末尾可能有最多2个=。 分辨:长度为4的倍数;包含+或/;常见于HTTP请求参数或数据嵌入场景。

base58

特征:去除了容易混淆的字符(如0,O,I,1),含有1-9,A-Z,a-z,无特殊符号。 分辨:无易混淆字符;无=;常见于比特币地址。

base85

特征:含0-9,A-Z,a-z和更多符号(如!、$、%等),中间可能含填充= 分辨:长度通常为5的倍数;密文中含特殊符号且无固定填充规则;常见于PDF文件嵌入。

base100

特征:全是emoji。 分辨:全是emoji。

Base36

特征:仅含0-9、a-z或A-Z,无填充,适用于短数字编码。

Base62

特征:包含0-9、a-z、A-Z,无特殊符号,常用于短链生成。

Base91/Base92

特征:包含0-9,A-Z,a-z,扩展了字符范围(含$、%等),无填充,压缩率更高。

ASCII编码

一般为7位或8位二进制。 常见字符(与十进制对应):9对应 48-57;A-Z对应65-90;a-z对应 97-122。

Hex

不多说,最常用的编码,只有0-9,A-Z,a-z。 tips:3078在hex解码为0x,如果反复出现可能是某种提示。

Bin

只含有01(也有可能只是两种不同的字符,核心特征是只有两种),一般配合ASCII使用。

URL编码

URL 编码,也被称为百分号编码,是一种编码机制,其特点是编码后会包含大量的百分号。用于将不可见,不安全或特殊的字符转换为%后跟其 ASCII 的十六进制表示,以确保 URL 的安全传输。在SQL注入中常用于绕过WAF检测进行编写一句话木马。

Unicode编码

Unicode编码,又称统一码,分为UTF-8(1-4字节),UTF-16(2,4字节),UTF-32(4字节)。 特征为“U+”,或者“&#”

XXencode

xx-encode和base64编码很类似,只不过使用的转换表不同。 特征:多行字符串时,除最后一行,每行开头为“h”;经常以++或+结尾;一行最大长度为4的倍数+1。

UUencode

uuencode衍生自“unix-tounix encoding”,曾是Unix系统下降二进制的数据借由UUCP邮件系统传输的一个编码程式,是一种二进制到文件的编码。 特征:多行字符串时,除最后一行,每行开头都是“M”;一行最大长度为4的倍数+1;会出现很多特殊符号。

Escape编码

Escape编码是一种将字符转换为特定格式的编码方式,主要用于在数据传输、存储或解析时避免特殊字符引发的语法冲突或错误。它通过将字符替换为转义序列来表示,常见的形式包括 %u 编码和 \ 转义。 特征:\

莫斯电码

莫斯电码只使用零和一两种状态的二进制代码,它含有短促的点信号“・”,保持一定时间的长信号“—”,空格表示点和划之间的停顿(一般五字节一停顿)。

敲击码

「 敲击码 Tap code 」是一种以非常简单的方式对文本信息进行编码的方法。因该编码对信息通过使用一系列的点击声音来编码而命名。 特征:敲击码是基于 5×5 方格(波利比奥斯方阵)来实现的,不同点是是用 K 字母被整合到 C 中。因此密文的特征为1-5的两位一组的数字,编码的范围是A-Z字母字符集,字母不区分大小写。

栅栏密码

间隔固定位数取字符,随波可以秒

一些奇怪的图形编码或者密码(https://blog.csdn.net/Aluxian_/article/details/141812967)

维吉尼亚密码

不常见,要用一定会提示,上网找解密网站(https://ctf.bugku.com/tool/vigenere)就行

Type-7密码

不常见,有提示就上网搜对应解密网站

键盘密码

根据字符在键盘上划线得到密码,类似的还有ASWD代表左下上右方向进行划线。

猪圈密码

猪圈密码是对字母进行了一些排列,然后用方框和点来代替字母的一种密码,对照字母表进行解密就行了。

chef

一种编程语言(与python.C 同类),特征为很多食材和做饭的步骤,如同一张食谱,用(https://esolangpark.vercel.app/ide/chef)运行chef就可以得到运行结果。


取证隐写

文件结构

在计算机中,所有文件的本质都是二进制文件(为了防止过于冗长,一般用十六进制表示),为了便于计算机识别,文件通常会包含除文件内容本身以外的一些特征标识,即文件头,或可以说是魔法数字(其实两者不等价,但并不严格区分)。文件头标识大全可见(https://zhuanlan.zhihu.com/p/571208394),有后缀和文件头对不上的就改(诶我没说一定是改扩展名喔); 通用隐写有在文件数据中(冗余位或末尾之类的地方,一般先搜索关键字或者看到有没有大量填充补0)或者属性里面,还可以先binwalk检查,foremost提取隐藏文件LSB隐写(最低有效位),用图片LSB/块信息/CRC校验工具提取隐藏信息;ntfs隐写,NTFS交换数据流(Alternate DataStreams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流(就是其它文件可以“寄宿”在某个文件身上),可以用特定工具提取出来(新版随波似乎会误判是否存在ntfs隐写,可以先预览一下);

字符隐写

字频统计

如果看到很多字符,而且字符中出现了多次flag头可以试试

零宽字符

缺线索了就把题目整个复制下来看看有没有零宽(?),解密方法:字符转Unicode找零宽类型,然后把明文带密文整个复制到在线零宽字符unicode文字隐写工具-BFW工具箱勾选对应类型就可以解密了。

图像隐写

通用的有宽高隐写(特征为crc检测结果为false,代表文件数据被修改过),直接拉高图片或者用脚本算出正确的crc进行爆破(ihdr数据也被修改了,而crc是根据ihdr算的); 盲水印(crc没改变,且没有线索可以尝试盲水印,还有变种双图盲水印,用bwm脚本解就行),如果遇到奇怪的文件头可以看看是不是需要异或某数字或取反; 猫脸变换:也叫阿诺德变换,本质为极坐标和笛卡尔坐标的转换,当图片呈现螺旋,圆形和放射状的时候可以尝试猫脸。

png隐写

IDAT块隐写:一般来讲IDAT块需要填满上一个才可以填下一个,如果有没有满的两块IDAT,那最后的IDAT块大概率有隐藏信息,可以进行zlib解压看看,推荐工具tweakpng。

jpg隐写

steghide隐写,用kali或者其他工具都可以,有密码无密码弱密码都有(可以用stegdetect对jpg进行检测是否有隐藏信息,但是不太准)

bmp隐写

除了bmp图片格式以外的常见的图片格式都是进行压缩了的,如果想要在这些格式的图片中进行大规模的修改,肯定会引起图片的失真。bmp未经压缩使得大量的数据,只要保证不影响图片,就可以隐藏许多内容。可以先转格式为bmp再进行binwalk分离。

二维码(或者说各种码)

二维码的定位符就是它的标识,如果扫不出来就去qrazybox扫;纠错区涂白可能获得更多信息;有时候不用完整的二维码也能识别);各种奇奇怪怪的码太多了,比如数据矩阵,aztec码,反正看到黑白方格的先问ai是不是什么码再说

gif/apng

动图先分帧,无线索查帧间隔是否是二进制,莫斯,培根密码;apng(https://www.cnblogs.com/suv789/p/18954839)用disapng分; gif的高度修改有两个高度,一个是ushort height(逻辑屏幕高度)一个是ushort imageheight(单帧图像高度),如果是宽高隐写的话需要改两个高度;偏移量隐写,如果gif中的字符或者什么明显的符号一直在移动,可以用脚本提取偏移量进行绘图获取信息,apng中的fcTL存储了真正的偏移位置,文件损坏的时候可以根据这个数据块进行偏移量绘图。

音频隐写

音频先丢进audacity看频谱图和波形图,有没有可能是编码;高能频谱可以提取出来看看频率是否存在隐藏信息。

IQ数据

In-phase Quadrature(同相正交)数据 结构:一组一组的IQ对(I1 Q1 I2 Q2……) 本质:能还原成音频,文字,二进制,图片等。 特征:文件大小是偶数倍(复数对),没有可读字符串和固定文件头,能解调成有意义的音频、数据。

deepsound

用deepsound提取音频内隐藏的文件需要密码

silenteye

只支持wav,jpg和bmp,是该隐写的话在图片文件开头或者末尾会出现SilentEye或者Silent的标识。一般默认参数就可以解得flag,不对的话找找有没有密码(key的两个框框填的是一样的密码)

SSTV

慢扫描电视(Slow Scan Television,SSTV)是业余无线电爱好者传输静态图像的通信技术,由考普瑟·麦克唐纳于1958年提出,通过单边带调制在3kHz带宽内传输单色或彩色图像。其特点是帧率低,单帧传输时间通常超过8秒,主要应用于短波、甚高频和超高频波段,特征为频谱图的高能波段集中且基本为一条直线。用MMSSTV进行解码兼容性最好,记得把输出方式改为立体音混声,因为电脑上无法直接接收自己本身发出的声音。

莫斯电码音频解密

如果某音频只有两种声音(两种波形),可以尝试二进制或者摩斯电码。(https://morsecodemagic.com/zh/%E6%91%A9%E5%B0%94%E6%96%AF%E7%94%B5%E7%A0%81%E9%9F%B3%E9%A2%91%E8%A7%A3%E7%A0%81%E5%99%A8/)

Echo Hiding

Echo Hiding(回声隐藏),将音频均分,将每一段原声复制一份,比原声晚出现一会儿,晚出现的差值取两个不同的值作为0和1,倒谱公式:c[n] = IFFT(logFFTx[n])|)。用脚本Cepstrum.py可以解出来。

mid

MID文件存 “乐谱指令”(音符、时长、力度、音色、节奏),像数字乐谱,可任意编辑,通常只有几 KB 到几十 KB。直接拖进AUdacity就可以看见其乐谱。

压缩包隐写

血泪教训(雾):题目给的附件也先丢winrar和010检查一下看注释,有没有隐藏文件,加密格式和字节大小,因为原压缩包可能存在一些未被解析的数据段。

ARCHPR

如果题目给了一些暗示压缩包密码长度和字符类型的,就用AR进行爆破,一般很快就会出密码,很久不出就是爆不了,再检查一下文件和题目换个方法别浪费时间。

bkcrack(https://www.freebuf.com/articles/network/255145.html)

压缩包为zipcrypt加密,已知压缩包内文件内容至少8字节连续明文加4字节明文(一般是exe,zip或者png,git仓库的head和description也可以作为包含明文的文件,连续的明文最好字节重复度高,字节数越多越好,如果附件给了压缩包内的原文件更好)就可以对压缩包的加密格式进行爆破,然后得到三条密钥去删除密码或者更改密码就行。

伪加密

文件头(504B0304后第三、四字节为奇数就是加密,偶数就是非加密)和文件目录区(504B0102后第五、六字节为奇数就是加密,偶数就是非加密)若不匹配就改成非加密

分卷压缩(https://blog.csdn.net/Chinland/article/details/137821972)

需要把各个切片都改为同一名字进行解压

短明文crc爆破(https://xz.aliyun.com/news/90771)

crc是一种线性校验和,我们可以通过它知道文件的数据是否被更改,而在加密txt中,如果明文字节数较小(4到6字节)我们就可以通过穷举进行crc爆破跳过密码直接知道txt明文。

hashcat爆破(https://zhuanlan.zhihu.com/p/356095183)

如果知道文件的哈希值(和密码的字符类型)可以用hashcat借助显卡进行爆破,有两种常见的攻击模式为:字典攻击(如rockyou.txt),掩码攻击(要知道密码的大部分格式)

账户信息分析

SAM文件用于存储用户账户信息,SYSTEM文件用于存储系统配置,可以用samdump2将SAM中的hash提取出来(若直接提取hash则存在加密,需要用到system的bootkey)。根据(https://blog.csdn.net/qq_30006795/article/details/148436970)所看到的输出格式可以找到账户的密码的hash然后就可以用hashcat进行爆破找到密码。

office/xps隐写

office/xps本质也是一种zip,一般存在隐藏信息直接改后缀找document就可以看到了,少部分直接写在文档内的,还不行就不改后缀点进去看是不是snow之类的文字隐写。

内存取证

wireshark流量包

拿到流量包先按字节从大到小进行排序,搜索一些关键字符,如:key,pass以及各种文件后缀(不建议搜flag,因为分组详情里原本就有个”Flags”),如果发现异常payload或者base编码直接导出字节流(最好不要直接复制因为可能复制不全)

http协议直接在左上角从大到小排列导出字节数最多的,或者搜索post上传和访问成功的流追踪查看是否有数据泄露;

tls协议则存在密钥文件,需要在首选项里导入才能查看真实内容;

tcp协议正常流程+tcp.flags.syn = =1得到黑客与受害者ip/tcp.flags.syn = = 1&&tcp.flags.ack = = 1查找开放端口;

无线网络协议需要查看无线流量部分的bssid和essid,

aircrack-ng -w '/usr/share/wordlists/rockyou.txt' -b 1a:d7:17:98:d0:51[BSSID]'file.cap' 爆破密码、

airdecap-ng -e mamawoxiangwantiequan[SSID即wifi名称] -p 12345678 'file.cap' 解密流量爆破流量密码并解密流量,之后正常分析流量包即可;

usb流量,常规的USB流量,数据部分在Leftover Capture Data域中,数据长度为八个字节判断为键盘流量,键盘击健信息集中在第三个字节中;数据长度为四个字节判断为鼠标流量。用tshark提取data字段,调整格式后解密信息

dns协议做题方法:发生ping操作时先用dns.qry.type = = 1&&dns.qry.name查询目标域名的A记录;

dns域名隐写(特征:大量01字符串):用tshark提取数据再进一步分析;

smb协议(特征:显示udp流、一直用同一个端口通信)

解题方法:获取NTLM密码即可解密,具体解题方法需要用到hashcat或者john爆破哈希值,hash格式:username::domin:sever challenge:NTProofStr:NTLM Response,数据从流量中找 ;

蓝牙协议(https://blog.csdn.net/qq_34810707/article/details/88546173);

telnet协议(https://blog.csdn.net/m0_52165864/article/details/126894004)、hex表达退格符;

菜刀流量,特征为开头和结尾含有成对箭头或X@Y或其他成对开始结束符号

gzip文件格式:1f8100开头 冰蝎流量

磁盘类

软盘是一种早期的可移动存储介质,曾广泛用于个人计算机中,但随着技术的发展,已逐渐被U盘和硬盘等更先进的存储设备所取代,软盘标准文件格式为FAT12。可以用kali的WSL进行挂载查看,也可以用虚拟机运行查看。

远程交互(日志分析)

用tabby进行连接,然后根据目的查看各个文件,单纯找flag的话直接grep,要找黑客的恶意文件的话可以进入var/www/html进行查找目标文件。linux常用命令 排查免杀马的步骤: ①锁定日志文件追踪行为痕迹 ②找非标准路径下的(log,tmp,wap)、隐藏的、畸形后缀的shell ③匹配含有核心函数、有编码解码的、伪协议(php://input)的可执行文件 ④排查短时间内重复访问请求

错误分析

一般载体文件是dmp文件(https://blog.csdn.net/xiao_yi_xiao/article/details/121750283),用windbg分析,点击!analyse -v进行分析。

后门查杀

用D盾扫描html文件可以查看到可疑文件,查杀木马。

荷兰宽带

路由器的备份文件(bin或cfg)通常包含了像ISP的用户名重要数据/密码,路由器的登录密码,无线网络的KEY。

反编译

如果获得了一个pyc文件(文件数据中有pyc字样),可以尝试用(https://www.lddgo.net/string/pyc-compile-decompile)进行反编译;同样的,elf文件可以拖进ida进行反编译查看是否有解flag的逻辑。

容器靶场类

登录

用bp爆破密码和用户名。

payload特定字符

如果是要求post一个值使得达成什么逻辑,可以根据php弱比较与强相等/不等(php弱比较时只比较“值”是否相等,强相等/不等则要求值与类型都相等)。