2022/06/05

今天拿到一個 img file 要讀取裡面的內容
所以想直接mount來用

使用kpartx

kpartx -av test.img
add map loop21p1 (253:0): 0 260096 linear 7:21 2048

分區的對應會放到到 /dev/mapper/loop21p1

直接mount
mount /dev/mapper/loop21p1 /mnt/test/

zsteg

apt install ruby

gem install zsteg


https://github.com/zed-0xff/zsteg

2022/05/26

因為要用linux shell 產生值再透過snmp server 讓 librenms 撈出後能畫圖

找到 python snmp server

只要一行指令

Standalone usage: snmp-server.py [-h] [-p PORT] [-c CONFIG] [-d] [-v]

SNMP server

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  port (by default 161 - requires root privileges)
  -c CONFIG, --config CONFIG
                        OIDs config file
  -d, --debug           run in debug mode
  -v, --version         show program's version number and exit

要產生snmp值的範例檔如下

DATA = {
  '1.3.6.1.4.1.1.1.0': integer(12345),
  '1.3.6.1.4.1.1.2.0': bit_string('\x12\x34\x56\x78'),
  '1.3.6.1.4.1.1.3.0': octet_string('test'),
  '1.3.6.1.4.1.1.4.0': null(),
  '1.3.6.1.4.1.1.5.0': object_identifier('1.3.6.7.8.9'),
  # notice the wildcards:
  '1.3.6.1.4.1.1.6.*': lambda oid: octet_string('* {}'.format(oid)),
  '1.3.6.1.4.1.1.?.0': lambda oid: octet_string('? {}'.format(oid)),
  '1.3.6.1.4.1.2.1.0': real(1.2345),
  '1.3.6.1.4.1.3.1.0': double(12345.2345),


snmpwalk 指定 ip port

snmpwalk -c public -v 2c 10.1.1.1:1611 .1.2.3


 

2022/05/21

之前一直都是在synology上使用docker
但因為某個原因
必須在有adsl線路上的几器上能讓外部連入
所以想到在該几器上安裝docker
記錄一下 目前有使用到的指令

安裝
sudo apt install docker.io

檢查狀態
systemctl status docker

設定開几啟動
sudo systemctl enable docker

把要使用docker的user加入docker群組
sudo usermod -aG docker username

登出再登入

檢查docker
docker version

搜尋docker 映像檔 ubuntu
docker search ubuntu

下載映像檔
docker pull ubuntu

列出目前已下載的映像檔
docker images

啟動 container 
docker run -itd container_id /bin/bash

列出目前已啟動的container
docker ps

登入已啟動的container
docker exec -it  container_id /bin/bash

安裝 ssh server
apt install open-sshserver

參考此篇設定使用public key 登入並改變啟動port
假設改為 port 2222

全部改好後存檔成另一個images 
docker commit container_id
會存成另一個images

關閉container
docker stop container_id

重新啟動並對應port 而且啟動ssh server 並設定重開後啟動container
docker run container_id -p 2222:2222 --restart=always /usr/sbin/sshd -D 

docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
<none>       <none>    57d619e840f1   16 hours ago   274MB
ubuntu       latest    d2e4e1f51132   3 weeks ago    77.8MB

刪除不使用的images
docker rmi image_id


查看目前所有容器的狀態 包含正在執行及已stop 
docker ps -a

停止容器的命令如下
$ docker stop container_id

啟動停止的容器 容器內之前的異動資料不會消失
$ docker start container_id


删除容器
$ docker rm container_id




2022/05/17

如何使用 postman 登入 juice shop 並拿到 bearer token


用 POST 而且在 body 以 json 格式輸入 登入的 email及密碼











auth type 選擇 No Auth










Send 後 畫面下方即可得到 bearer token
 











2022/05/13

由於 proxmox 几器愈來愈多

所以使用dsh 來處理升級問題

其他几器暫不考慮

因為還要使用key認証 而且os也有不同

流程如下


先建立群組檔

vi ~/.dsh/group/temp

10.0.0.1

10.0.0.2

10.0.0.3


建立好後指令如下

dsh -g temp -M  -r ssh -- df -h

如果要下多個指令 要使用單引號 而且指令用 ; 隔開

dsh -g temp -M  -r ssh -- 'df-h;ls;date'


https://blog.csdn.net/dcj3sjt126com/article/details/84691641

owasp 提供的靶場


https://owasp.org/www-project-juice-shop/


https://owasp.org/www-project-webgoat/


https://github.com/adeyosemanputra/pygoat


https://github.com/OWASP/SecurityShepherd

2022/05/11

http://www.jsfuck.com/


http://www.atoolbox.net/Tool.php?Id=703


https://utf-8.jp/public/jjencode.html


https://github.com/pablojorge/brainfuck

2022/05/09

今天要disable ubuntu 18.04 的ipv6的時候


在 /etc/sysctl.conf 加入以下三行


net.ipv6.conf.all.disable_ipv6=1

net.ipv6.conf.default.disable_ipv6=1

net.ipv6.conf.lo.disable_ipv6 = 1


sysctl -p 是有作用的 可是重開就不行了

有人說是bug

只好換一種方法

修改 /etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1"

再update grub

sudo update-grub


重開就ok了


https://linuxconfig.org/how-to-disable-ipv6-address-on-ubuntu-18-04-bionic-beaver-linux

2022/04/18

昨天是舊憑証的到期日

所以今天要撈出那些ip已經上了新憑証

把封包導入解密 


使用 nmap 查找憑証指令如下 

再找出使用 TWCA 的憑証 並 列出憑証到期日

#!/bin/bash


for i in {1..250}

do

echo $i

        nmap -Pn --script ssl-cert -p 443 10.0.0.$i -oN ca_$i

done


若把執行結果餵到變數 注意以下不同

r=`nmap --script ssl-cert -p 443 10.0.0.$i|grep -E 'TWCA|after'`

echo $r > ca_$i  #導出結果無換行 

        echo "$r" > ca_$i #導出結果有換行


使用 curl 程式如下 

#!/bin/bash


for i in {1..250}

do

echo $i

curl -m 3 https://10.0.0.$i -k -v -s -o /dev/null 2> /tmp/ca/ca_$i

done


接下來再針對關鍵字及有無過期查找即可

2022/04/11

今天有朋友問greenbone的問題

到官網看了一下

名字又改了

改成  Greenbone Enterprise TRIAL

不過下載時看到的檔案還是GSM

只是比之前用的版本又更新了

順便記錄一下怎麼匯入 proxmox


ova下載回來後先解開

tar xvf GSM-TRIAL-21.04.15-VirtualBox.ova

有一個 ovf 跟一個 vmdk 只需要使用 vmdk

把vmdk 上傳到 proxmox  

在proxmox 上 create 一個vm

cpu給2顆 ram給5G

接下來把建立時預設的那個HD刪除

把剛剛上傳的vmdk匯入

qm importdisk 132 GSM-TRIAL-21.04.15-VirtualBox-disk001.vmdk local-lvm

把匯入的HD掛上    BUS一定要使用 IDE

把BIOS調整成 UEFI

調整開几順序 使用剛剛匯入的HD開几

開几完成使用 admin/admin 在 console登入

接下來建立 web 介面的帳號密碼及更新 feed

完成後即可使用 web 介面登入操作


https://www.greenbone.net/en/testnow/



2022/03/10

今天使用shotcut

一直閃退

不知出了什麼問題


https://shotcut.org/

2022/02/13

換成aruba ap12 碰到一個奇怪的問題

在raspberry 3B上連線都沒問題

可是到了 raspberry 4 上

就變成看得到 SSID 可是無法連線

找了一下froum

也有人碰到相同的問題

怪的是竟然有人說跟螢幕解析度有關

另外是說跟SSID有關 不要用特殊字完或許能解決問題

果然

本來是設定 abc-5G 

改成 abc5g 就可以了

醬問題就更怪了

二個的差別除了硬体版本不同

還有os也不同

raspberry 3B               kali linux

raspberry 4                 ubuntu mate


https://forums.raspberrypi.com/viewtopic.php?t=247982

2022/02/10

在proxmox中開啟 guest的no vnc console 後

使用vi會碰到一個問題

就是按 esc 時會整個跳出來

在home 目錄新增 .vimrc 

並加上

inoremap qq <esc>

就可以把 連按二下 qq 換成 esc 


另外在不改變任何設定的情況下

可以直接使用 Ctrl + c 來取代 esc 




之前從centos 8 升到 centos 8 stream 的几器最近無法更新

出現以下訊息


 [root@localhost ~]# dnf -y update

Failed to set locale, defaulting to C.UTF-8

CentOS Linux 8 - AppStream                      51  B/s |  38  B     00:00    

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist


重新執行以下指令

dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos

dnf distro-sync

再 dnf -y update 就正常了


2022/01/18

今天更新完proxmox的kernel後

要修改backup的資料

結果 /etc/pve/vzdump.cron裡只有以下內容

 

# cluster wide vzdump cron schedule

# Automatically generated file - do not edit


PATH="/usr/sbin:/usr/bin:/sbin:/bin"


備分的config放到 /etc/pve/jobs.cfg 去了

而且內容跟之前完全不同


目前發現有些有轉換有些並沒有

當使用web介面設定備分後 才會轉換到新設定


2022/01/15

proxmox 目前有支援 metric server 把系統資料往外丟到

Graphite 或 InfluxDB



















就可以利用grafana來畫圖

因為proxmox丟到influxdb只提供 udp http https 三種方式

而influxdb預設使用tcp

因此要修改 /etc/influxdb/influxdb.conf

加上

[[udp]]
    enabled = true
    bind-address = "0.0.0.0:8089"
    database = "proxmox"
    batch-size = 1000
    batch-timeout = "1s"

proxmox 上的設定如上圖

如果設定新 proxmox 的dashboard
步驟如下
先在influxdb
create 新database
create database proxmox_new

再修改 /etc/influxdb/influxdb.conf    

加上

[[udp]]
    enabled = true
    bind-address = "0.0.0.0:8090"
    database = "proxmox_new"
    batch-size = 1000
    batch-timeout = "1s"

注意藍字部分
改完後重啟 influxdb

接下來到proxmox主控台依上述的config進行設定

再來設定grafana

到 https://grafana.com/grafana/dashboards/10048/revisions 下載 proxmox_rev1.json

修改 proxmox_rev1.json 內容 檔案最下方

"title": "Proxmox_new", "uid": "kxQQuHRak",













改完後 import 時要選擇 upload json file 使用上述修改好的檔案
















https://www.cxybb.com/article/caiyqn/106380171


https://www.linuxsysadmins.com/monitoring-proxmox-with-grafana/



2022/01/10

想在其他網頁上show出grafana的圖

查了一些資料

說到可以改為anonymous不登入

但感覺醬不太安全

最後決定使用api key的方式來處理

首先產生api key

登入後 在畫面左邊的齒輪(configuration)點進去 再點選 API keys













因為目前不支援整個dashboard的render 只能單一panel

所以在panel上方點出選項然後再點下 share










因為沒有安裝 renderer  所以出現以下訊息








以下指令安裝

grafana-cli plugins install grafana-image-renderer


安裝後就會出現

direct link rendered image 的連結













但點下去之後出現












無法畫圖

查了一下log

要在OS補上以下的package

yum install -y atk

yum install -y at-spi2-atk

yum install -y cups-libs

yum install -y libdrm

yum install -y libxkbcommon

yum install -y libXcomposite

yum install -y libXdamage

yum install -y mesa-libgbm

yum install -y pango

yum install -y alsa-lib

補好再點就會出現圖了


些時就可以使用 api key把圖捉出來了

curl 使用的連結就是 direct link rendered image 的連結

以下語法是取出10分鐘前到現在的資料

curl -H "Authorization: Bearer your api key" "http://10.0.0.1:3000/render/d-solo/XICbV6A7k/lib-air-quality?orgId=1&from=now-10m&to=now&panelId=6&width=1000&height=500&tz=Asia%2FTaipei"  > output.png


https://grafana.com/docs/grafana/latest/image-rendering/

https://mattionline.de/grafana-api-export-graph-as-png/

2022/01/01

本次弱掃出現很多台几器有相同的問題


Vulnerability Detection Result

'Vulnerable' cipher suites accepted by this service via the TLSv1.0 protocol:

TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

'Vulnerable' cipher suites accepted by this service via the TLSv1.1 protocol:

TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

'Vulnerable' cipher suites accepted by this service via the TLSv1.2 protocol:

TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)


處理方法如下

vi /etc/httpd/conf.d

修改如下

 

#SSLProtocol all -SSLv2 -SSLv3

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1


#   SSL Cipher Suite:

#   List the ciphers that the client is permitted to negotiate.

#   See the mod_ssl documentation for a complete list.

#SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA


SSLCipherSuite HIGH:!3DES:!aNULL:!MD5:!SEED:!IDEA


改完後 restart 

systemctl restart httpd


以nmap進行測試


nmap --script ssl-enum-ciphers -p 443 10.0.0.1

Starting Nmap 7.80 ( https://nmap.org ) at 2022-01-01 13:54 CST

Nmap scan report for www.nkuht.edu.tw (10.0.0.1)

Host is up (0.00029s latency).


PORT    STATE SERVICE

443/tcp open  https

| ssl-enum-ciphers:

|   TLSv1.2:

|     ciphers:

|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A

|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A

|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A

|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A

|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A

|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A

|     compressors:

|       NULL

|     cipher preference: server

|_  least strength: A


Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds