【MISC】图片点阵提取

在打VNCTF2022的时候遇到这样一道题,图片直接放在文章肯能看不清,各位可以点开来仔细观看

放大来看

又是点阵图,这不就是妥妥的点阵提取嘛,打开画图,量出来点之间的距离,然后开造!
结果,出来很意外,每个点之间的距离都是不一样的,都在49~51之间浮动,这就导致直接提取不能提取出有效的信息
好在,每一行每一列的点都在同一条直线上,只要求出最左上角的点,然后跑出每一行每一列的坐标,再拼接即可
拼接的话可以使用OpenCV库,但是Python的PIL(Pillow)好像更胜一筹,于是学了一下写了个脚本

from PIL import Image,ImageDraw
image = Image.open("misc-img-pixel-1.png")
Line=[]
Row=[]
black=image.getpixel((0,0))
for i in range(image.height-1):
    if(image.getpixel((24,i))!=black):
        Row.append(i)
for i in range(image.width-1):
    if(image.getpixel((i,15))!=black):
        Line.append(i)
ret = Image.new('RGB', (len(Line), len(Row)) )
draw = ImageDraw.Draw(ret)
for x in range(len(Line)-1):
    for y in range(len(Row)-1):
        draw.point((x, y), fill=image.getpixel((Line[x],Row[y]))) 
ret.show()
ret.save('result.png')

继续阅读【MISC】图片点阵提取

【VIPER】部署、监听、代理

前导

Viper中文炫彩蛇,为图形化的渗透平台,用户可以使用浏览器登录完成诸如(覆盖初始访问/持久化/权限提升/防御绕过/凭证访问/信息收集/横向移动等大类)操作,并提供内网隧道,文件管理,命令行等常用渗透工具。
在进行内网渗透中,还有内网网络拓扑等可视化工具提高工作效率。

安装

快捷部署有Docker和F8X一键部署两种方式
下方为f8x一件部署,推荐在全新linux环境中使用

curl -o f8x https://f8x.io/   # wget -O f8x https://f8x.io/
bash f8x -viper

我所使用的时Docker安装,并在wsl(Docker on desktop)和linux(CentOS 7)系统下都进行过部署

sudo -s
yum install docker -y
yum install docker-compose -y
systemctl enable docker
service docker restart
#安装Docker并设置自启动
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
newgrp - docker
#假如Docker权限组
export VIPER_DIR=/root/VIPER
export VIPER_PASSWORD=YOUR_PWD
#确认自己的安装目录与密码
mkdir -p $VIPER_DIR && cd $VIPER_DIR
tee docker-compose.yml <<-'EOF'
version: "3"
services:
  viper:
    image: registry.cn-shenzhen.aliyuncs.com/toys/viper:latest
    container_name: viper-c
    network_mode: "host"
    restart: always
    volumes:
      - ${PWD}/loot:/root/.msf4/loot
      - ${PWD}/db:/root/viper/Docker/db
      - ${PWD}/module:/root/viper/Docker/module
      - ${PWD}/log:/root/viper/Docker/log
      - ${PWD}/nginxconfig:/root/viper/Docker/nginxconfig
    command: ["VIPER_PASSWORD"]
EOF
sed -i "s/VIPER_PASSWORD/$VIPER_PASSWORD/g" docker-compose.yml
cd $VIPER_DIR
docker-compose config
#确认DockerFile正确
docker-compose up -d
#启动容器

在WSL中,有一点使用docker的host mode容易端口冲突,所以docker-compose.yml要修改成如下,并自行确认端口映射(60000一定要开以外,其他多开点)

version: "3"
services:
  viper:
    image: registry.cn-shenzhen.aliyuncs.com/toys/viper:latest
    container_name: viper-c
    restart: always
    ports:
      - "60000-60099:60000-60099"
    volumes:
      - ${PWD}/loot:/mnt/d/Docker/viper/.msf4/loot
      - ${PWD}/db:/mnt/d/Docker/viper/db
      - ${PWD}/module:/mnt/d/Docker/viper/module
      - ${PWD}/log:/mnt/d/Docker/viper/log
      - ${PWD}/nginxconfig:/mnt/d/Docker/viper/nginxconfig
    command: ["VIPER_PASSWORD"]

之后访问https://YourDomain:60000root账户和你的密码,登录Viper

继续阅读【VIPER】部署、监听、代理