暗网攻击步骤

  1. create a new site or login to an old one
  2. login and set sftp password
  3. login via sftp and create a symlink to /
  4. disable DirectoryIndex in .htaccess
  5. enable mod_autoindex in .htaccess
  6. disable php engine in .htaccess
  7. add text/plain type for .php files in .htaccess
  8. have fun browsing files
  9. find /home/fhosting
  10. look at the content of the index.php file in /home/fhosting/www/
  11. find configuration in /home/fhosting/www/_lbs/config.php
  12. copy paste database connection details to phpmyadmin login
  13. find active users with shell access in /etc/passwd
  14. look through the scripts and figure out how password resets work
  15. manually trigger a sftp password reset for the user ‘user’
  16. connect via ssh
  17. run ‘sudo -i’
  18. edit ssh config in /etc/ssh/sshd_config to allow root login
  19. run ‘passwd’ to set root password
  20. reconnect via ssh as root
  21. enjoy

制作SSL证书

参照 How to set SSL on Apache Server on Windows using Fake Local Certificate Authority

介绍

本教程用以演示如何在Apache(windows)上安装SSL/TLS,以及利用客户端私有证书进行认证。一个典型的SSL/TLS生态系统的设置涉及到三个部分。它们是 证书授权服务端、*客户端"。这篇教程的灵感来自于我渴望弄懂双向SSL是如何工作的。在开始研究前我对SSL的了解几乎为0。我将研究成果写成这篇博客发表出来。

  • CA机构 : VeriSign, DigiCert
  • Server : Apache, Tomcat
  • Client : Firefox, Chrome

沙盒(本机环境确认)

  • Windows 7 64bit
  • Apache for Windows
  • OpenSSL for Windows
  • FireFox

配置环境变量

  • 打开命令提示符
  • 设置OPENSSL_CONF为APACHE的openssl.cnf
    例如: set OPENSSL_CONF=C:\xampp\apache\conf\openssl.cnf
  • 设置OPENSSL命令的路径到PATH路径
    例如: set PATH=%PATH%;C:\xampp\apache\bin

为服务端生成CA证书

这篇教程里并没有使用真实的CA(认证机构)。一个假的认证机构 "CA Server Certificate" 会在本地沙盒中创建出来。

  • 使用如下openssl命令创建CA的key文件(ca_server.key)
    openssl genrsa -out ca_server.key 1024

  • 创建证书的签名请求ca_server.csr, 并在subject节提供认证机构相关信息
    openssl req -new -newkey rsa:1024 -nodes -out ca_server.csr -keyout ca_server.key -subj "/C=US/ST=NY/L=New York/O=CA Server Certificate/OU=IT/CN=www.CAServer.org"

  • 利用csr文件和签名来创建CA证书
    openssl x509 -req -days 365 -in ca_server.csr -signkey ca_server.key -out ca_server.crt

创建WEB服务端证书

现在我们将创建服务端CA证书

  • 创建名为server.key的服务端key文件
    openssl genrsa -out server.key 1024

  • 创建服务端csr文件
    openssl req -new -newkey rsa:1024 -nodes -out server.csr -keyout server.key -subj "/C=US/ST=Texas/L=Austin/O=Server /OU=IT/CN=localhost

  • 创建服务端证书,并且用之前步骤中生成的CA为它签名
    openssl x509 -req -days 365 -CA ca_server.crt -CAkey ca_server.key -CAcreateserial -in server.csr -out server.crt

    如果不想用CA为它签名那么使用下面的命令
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

为客户端生成CA证书

openssl genrsa -out ca_client.key 1024
openssl req -new -newkey rsa:1024 -nodes -out ca_client.csr -keyout ca_client.key -subj "/C=US/ST=TX/L=Austin/O=CA for Client Cert/OU=IT/CN=www.CAforClient.org"
openssl x509 -req -days 365 -in ca_client.csr -signkey ca_client.key -out ca_client.crt

创建客户端证书

  • 创建client的key文件client.key
    openssl genrsa -out client.key 1024

  • 创建客户端csr
    openssl req -new -key client.key -out client.csr -subj "/C=US/ST=Texas/L=Austin/O=Client Iqbal/OU=IT/CN=ClientIqbal"

  • 创建客户端证书,并利用CA对其进行签名
    openssl x509 -req -days 365 -CA ca_client.crt -CAkey ca_client.key -CAcreateserial -in client.csr -out client_signedby_ca_client.crt

  • 转换client.crt证书让其可以在firefox中使用
    openssl pkcs12 -export -clcerts -in client_signedby_ca_client.crt -inkey client.key -out client_signedby_ca_client.p12

    注意这一步需要填入密码

配置服务端APACHE

编辑apache配置文件 http-ssl.conf

DocumentRoot "C:/xampp/htdocs"
<Directory "D:/xampp/htdocs">
  Options Indexes
  Order deny,allow
  Allow from all

  #SSLRequireSSL
  SSLVerifyClient require
  SSLVerifyDepth 1
  SSLEngine on
  SSLCertificateFile "C:/xampp/apache/conf/ssl.crt/server.crt"
  SSLCertificateKeyFile "C:/xampp/apache/conf/ssl.crt/server.key"
  SSLCACertificateFile "C:/xampp/apache/conf/ssl.crt/ca_client.crt"

  ErrorLog "logs/dummy-host.localhost-error.log"
  CustomLog "logs/dummy-host.localhost-access.log" combined
</Directory>

在Firefox中试用

添加CA机构证书 ca_server.crt

  • 进入Firefox菜单->选项->选项->高级
  • 点击“查看证书”
  • 选择证书机构,并点击导入按钮导入"ca_server.crt"
  • 选择相信证书的定义网站,并且点击“确定”按钮
  • ca_server.crt项展示为CA Server Certificate
  • 选择“我的证书”tab,导入client_signedby_ca_server.p12PKCS12证书
  • 点击“确定”按钮, 即完成设置

制作代理软件证书(charles)

  1. 生成目录
mkdir -p /usr/local/CharlesCA
cd /usr/local/CharlesCA
mkdir certs private newcerts
  1. 生成CA证书
openssl req -new -x509 -days 3650 -extensions v3_ca \
-keyout private/ca_key.pem -out certs/ca_cert.pem \
-config /etc/ssl/openssl.cnf
  1. 转换为 PKCS12 格式
openssl pkcs12 -export -out ca_cert.pfx -inkey private/ca_key.pem -in certs/ca_cert.pem
  1. 检查结果
    生成3个重要文件
  • ca_cert.pfx – charles 添加自定义证书用的
  • ca_cert.pem – 提供给客户端使用的
  • ca_key.pem – 钥匙(请保证它的安全)

GIMP操作技巧

选区描边

  1. 用颜色选区工具或Alpha通道来创建选区
  2. 右键->工具->勾画选区
  3. 点击勾画可用前景色勾画

去背景色

  1. 添加图层蒙板
  2. 在图层上根据颜色选择想去色的区域(注意调整阈值)
  3. 选中蒙板并且用画笔工具
  4. 设置好笔刷颜色(黑色表示去掉,白色表示保留)
  5. 设置好笔刷的不透明度
  6. 用笔刷涂抹选区

参考教学

http://gimpbasic.blogspot.jp/

渐变映射

简单的说就是【暗】的地方用左边颜色【亮】的地方用右边颜色

shadowsocks to http proxy

pacman -S polipo
polipo socksParentProxy=localhost:1080
export http_proxy=http://127.0.0.1:8123
export https_proxy=http://127.0.0.1:8123
export http_proxy=http://192.168.180.101:11128
export https_proxy=http://192.168.180.101:11128
soure /etc/profile

archinux chacha20-itef should install

pacman -S libsodium

privoxy

pacman -S privoxy

对称加密解密

可以使用openssl对字符串进行对称加密

加密

echo -n "<str>" | openssl enc -p -des3 -k <passwd> -a

openssl enc -p -des3 -pass pass:"<passwd>" -a -in <in> -out <out>

解密

echo -n "<str>" | openssl enc -d -des3 -k <passwd> -a

openssl enc -d -des3 -pass pass:"<passwd>" -a -in <in> -out <out>