Indonesian Back|Track Team
Share Notifikasi Login SSH via Telegram - Printable Version

+- Indonesian Back|Track Team (https://www.indonesianbacktrack.or.id/forum)
+-- Forum: Defensive Zone (https://www.indonesianbacktrack.or.id/forum/forum-173.html)
+--- Forum: Hardening (https://www.indonesianbacktrack.or.id/forum/forum-189.html)
+--- Thread: Share Notifikasi Login SSH via Telegram (/thread-6624.html)

Pages: 1 2


Notifikasi Login SSH via Telegram - arfha - 11-27-2015

Berawal iseng iseng di google pengen nyari tau gimana bisa tau user yang login ke SSH akhirnya ane menemukan postingan tentang Notifikasi Login SSH Menggunakan Telegram Bot..

Sudah tau apa itu Telegram dan Apa itu Bot??
Silahkan buka google :p

oke disini ane cuma menjelaskan cara membuat notifikasinya saja..
Bagaimana cara membuat Bot Telegram
Silahkan browsing di google :p

Untuk membuat Bot notif ini kita harus punya Bot token yang saat membuat bot sudah dikasih tau Token-nya
yang kedua kita harus tau ID akun telegram yang menerima notif tersebut
dan yang ketiga di server sudah terinstall jq.
Karena saya menggunakan Centos jadi cara install jq cukup dengan
sudo yum install jq


Kemudian untuk mendapatkan ID silahkan kirim pesan ke bot kemudian buka link https://api.telegram.org/bot{BotToken}/getUpdates
maka akan muncul beberapa tulisan atau apalah itu namanya wkwkkwkwkwkkw
disana akan terlihat ID dari user yang mengirim pesan ke bot

[Image: 7JJ5D5d.png]
dari gambar diatas terlihat kalo id saya ada 133700 << Bukan ID Sebenarnya

Setelah ID dan Token kita dapatkan maka selanjutnya adalah membuat file di /etc/profile.d/ssh-telegram.sh
yang isinya adalah sebagai berikut

Code:
# save it as /etc/profile.d/ssh-telegram.sh
# use jq to parse JSON from ip-api.com
# get jq from here http://stedolan.github.io/jq/
USERID="ISI_DENGAN_USER_ID_ANDA"
KEY="ISI_DENGAN_BOT_TOKEN"
TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
DATE_EXEC="$(date "+%d %b %Y %H:%M")"
TMPFILE='/tmp/ipinfo-$DATE_EXEC.txt'
if [ -n "$SSH_CLIENT" ]; then
    IP=$(echo $SSH_CLIENT | awk '{print $1}')
    PORT=$(echo $SSH_CLIENT | awk '{print $3}')
    HOSTNAME=$(hostname)
    IPADDR=$(hostname -I | awk '{print $1}')
    curl http://ip-api.com/json/$IP -s -o $TMPFILE
    CITY=$(cat $TMPFILE | jq '.city' | sed 's/"//g')
    REGION=$(cat $TMPFILE | jq '.region' | sed 's/"//g')
    COUNTRY=$(cat $TMPFILE | jq '.country' | sed 's/"//g')
    ORG=$(cat $TMPFILE | jq '.org' | sed 's/"//g')
    TEXT="$DATE_EXEC: ${USER} logged in to $HOSTNAME ($IPADDR) from $IP - $ORG - $CITY, $REGION, $COUNTRY on port $PORT"
    curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&text=$TEXT" $URL > /dev/null
    rm -rf $TMPFILE
fi

Kemudian jangan lupa rubah permission filenya biar bisa di eksekusi dengan cara
chmod +x /etc/profile.d/ssh-telegram.sh

Setelah itu coba login deh ke SSH nya, nanti om Bot bakalan kirim message yang isinya seperti ini :
[Image: HgA8UcD.png]

{USER} logged in to {HOSTNAME (IP SERVER)} From {IP ANDA} - {ISP} - {KOTA} - {Regional} - {Negara} On PORT {SSH_PORT}
Ex
OrangGanteng logged in to server.ganteng.id (127.0.0.1) From 8.8.8.8 - Google - Mountain View - CA - US On PORT 12345

CMIWW... Bot berjalan dengan lancar dan bijaksana Big Grin
Demi Privacy beberapa tulisan di screenshot terpaksa saya remove


Source : Matriphe


RE: Notifikasi Login SSH via Telegram - hamdan_zenith - 11-27-2015

Keren neh. Bisa di kembangin lagi utk selain ssh om Big Grin
Ngoprek truss :*


RE: Notifikasi Login SSH via Telegram - iPin - 11-27-2015

wahhh nice info nih om buat yang pagi jaga serper, siang jaga serper, sore jaga serper, malem dikerokin Smile)
salam sysadmin. wkwkwk


RE: Notifikasi Login SSH via Telegram - arfha - 11-27-2015

Siap om momod @hamdan_zenith
Wah bahaya ini om @iPin
Wkwkkwkwk


RE: Notifikasi Login SSH via Telegram - Decoder007 - 11-27-2015

Jadi kalo pake ini kita bisa ngeliat siapa aja yang login gitu om?


RE: Notifikasi Login SSH via Telegram - orang sederhana - 11-27-2015

(11-27-2015, 12:37 AM)v.arFha Wrote: Berawal iseng iseng di google pengen nyari tau gimana bisa tau user yang login ke SSH akhirnya ane menemukan postingan tentang Notifikasi Login SSH Menggunakan Telegram Bot..

Sudah tau apa itu Telegram dan Apa itu Bot??
Silahkan buka google :p

oke disini ane cuma menjelaskan cara membuat notifikasinya saja..
Bagaimana cara membuat Bot Telegram
Silahkan browsing di google :p

Untuk membuat Bot notif ini kita harus punya Bot token yang saat membuat bot sudah dikasih tau Token-nya
yang kedua kita harus tau ID akun telegram yang menerima notif tersebut
dan yang ketiga di server sudah terinstall jq.
Karena saya menggunakan Centos jadi cara install jq cukup dengan
sudo yum install jq


Kemudian untuk mendapatkan ID silahkan kirim pesan ke bot kemudian buka link https://api.telegram.org/bot{BotToken}/getUpdates
maka akan muncul beberapa tulisan atau apalah itu namanya wkwkkwkwkwkkw
disana akan terlihat ID dari user yang mengirim pesan ke bot

[Image: 7JJ5D5d.png]
dari gambar diatas terlihat kalo id saya ada 133700 << Bukan ID Sebenarnya

Setelah ID dan Token kita dapatkan maka selanjutnya adalah membuat file di /etc/profile.d/ssh-telegram.sh
yang isinya adalah sebagai berikut

Code:
# save it as /etc/profile.d/ssh-telegram.sh
# use jq to parse JSON from ip-api.com
# get jq from here http://stedolan.github.io/jq/
USERID="ISI_DENGAN_USER_ID_ANDA"
KEY="ISI_DENGAN_BOT_TOKEN"
TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
DATE_EXEC="$(date "+%d %b %Y %H:%M")"
TMPFILE='/tmp/ipinfo-$DATE_EXEC.txt'
if [ -n "$SSH_CLIENT" ]; then
    IP=$(echo $SSH_CLIENT | awk '{print $1}')
    PORT=$(echo $SSH_CLIENT | awk '{print $3}')
    HOSTNAME=$(hostname)
    IPADDR=$(hostname -I | awk '{print $1}')
    curl http://ip-api.com/json/$IP -s -o $TMPFILE
    CITY=$(cat $TMPFILE | jq '.city' | sed 's/"//g')
    REGION=$(cat $TMPFILE | jq '.region' | sed 's/"//g')
    COUNTRY=$(cat $TMPFILE | jq '.country' | sed 's/"//g')
    ORG=$(cat $TMPFILE | jq '.org' | sed 's/"//g')
    TEXT="$DATE_EXEC: ${USER} logged in to $HOSTNAME ($IPADDR) from $IP - $ORG - $CITY, $REGION, $COUNTRY on port $PORT"
    curl -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&text=$TEXT" $URL > /dev/null
    rm -rf $TMPFILE
fi

Kemudian jangan lupa rubah permission filenya biar bisa di eksekusi dengan cara
chmod +x /etc/profile.d/ssh-telegram.sh

Setelah itu coba login deh ke SSH nya, nanti om Bot bakalan kirim message yang isinya seperti ini :
[Image: HgA8UcD.png]

{USER} logged in to {HOSTNAME (IP SERVER)} From {IP ANDA} - {ISP} - {KOTA} - {Regional} - {Negara} On PORT {SSH_PORT}
Ex
OrangGanteng logged in to server.ganteng.id (127.0.0.1) From 8.8.8.8 - Google - Mountain View - CA - US On PORT 12345

CMIWW... Bot berjalan dengan lancar dan bijaksana Big Grin
Demi Privacy beberapa tulisan di screenshot terpaksa saya remove


Source : Matriphe
wah nice info om @v.arFha izin coba dulu ya , baru nanti dikasih cendol nya =)) :d


RE: Notifikasi Login SSH via Telegram - jufianto - 11-29-2015

cara kerja scriptnya gimana ya ?
kenapa jalan setiap login atau jalan sebagai daemon di linux ?
jelasin dong Big Grin


RE: Notifikasi Login SSH via Telegram - falcon - 11-29-2015

Kalau notifikasi via BBM, LINE, atau apalah. bisa gak om Big Grin Sempat ada developer android di sini bisa di implementasikan di Android hha


RE: Notifikasi Login SSH via Telegram - kahfiehudson - 06-17-2016

gue gagal fa ga muncul notif ke telegram gue, gimana caranya wkwkw :p


RE: Notifikasi Login SSH via Telegram - arfha - 06-17-2016

(06-17-2016, 04:12 PM)kahfiehudson Wrote: gue gagal fa ga muncul notif ke telegram gue, gimana caranya wkwkw :p

wahh.
faktor face mempengaruhi kahfihudson
wkwkkwkw