IT Guys👾 – Telegram
425 subscribers
121 photos
183 videos
27 files
286 links
نکاتی که تو مسیر یادگیری بدست آوردیم رو باهاتون به اشتراک میزاریم. اين كانال رو به عنوان سرگرمی نگاه كنيد.
شما هم اگر نکته ای داشتید ، چه بصورت متن ، عکس و یا صدا به نشانی ربات زیر با ما به اشتراک بگذارید ، با تشکر.

Bot ID : https://news.1rj.ru/str/bootrampbot🤖
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
بازی عوض میشه⚖️
کانال تلگرام IT Guys
👍5
این سناریو رو در نظر بگیرید که قرار یک سیستم لینوکس رو تبدیل به روتر کنید ، اما روتری که به جای تونل VPN ، ترافیکش رو میخواد روی یک سرویس vmess یا vless یا کلا یک سرور پروکسی دیگه بفرسته!

کاری به این ندارم که برای اینکه لینوکس ما بخواد نقش روتر رو بازی کنه ، باید توی iptable تغییرات بدیم ، اینو برید سرچ کنید چیز خاصی نداره

نکته ی صحبت ما اینه که چجوری ترافیک های ورودی به اینترفیس رو ، روت کنیم به یک پروکسی سرور روی همون لینوکس ؟!

شاید سوال بشه براتون که ، خب وقتی مثلا بیایم پکیج v2ray رو ، روی لینوکسمون نصب کنیم همین اتفاق میوفته ، اما جواب خیر هست ، شما تا زمانی که تعیین نکنید که ترافیک از پروکسی رد بشه ، تمامی ترافیک لینوکس شما به صورت پیش فرض از گیتوی خارج میشه (یا اگر VPN زدید ، از تونل VPN خارج میشه)

پس راهکار چیه؟
tun2socks

یک ابزار عالی برای انتقال تمام ترافیک به سمت پروکسی سرور شما ، با این ابزار ، انگار اومدید مثلا v2ray خودتون رو که روش یک کانفیگ vmess انداختید ، تبدیل به یک گیتوی کردید ، و تمام ترافیک شما به سمت این پروکسی منتقل میشه.
بدرد وقت هایی میخوره که روتر ندارید ، ولی امکان نصب و کانفیگ یک سیستم لینوکسی رو دارید.
حالا اگر اون کانفیگ iptable رو انجام بدید ، آدرس IP این لینوکس رو به عنوان گیتوی به سیستم های دیگه میدید ، و بقیه داستان که دیگه مشخصه پیش میاد.
tun2socks --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080 --tun-device tun0

نمونه ی کانفیگ tun2socks

نکته :
ICMP cannot be "proxied" by any proxies, it would be simply replied by tun2socks


کانال تلگرام IT Guys
👍7
در سرورهای اوبونتو تنظیمات کارت شبکه به عهده‌ی netplan هستش. اما تو بعضی مواقع مخصوصاً سیستم‌هایی که دسکتاپ دارن یا کسانی که با محیط گرافیکی کار می‌کنن، استفاده از NetworkManager راحت‌تره
برای اینکه netplan رو طوری تنظیم کنیم که از NetworkManager استفاده کنه، مراحل زیر رو انجام بده
:👇
-------------

1. اول فایل کانفیگ netplan رو باز کن. معمولاً توی مسیر /etc/netplan/ یه فایل YAML هست، مثلاً:

sudo nano /etc/netplan/01-netcfg.yaml

2. حالا توی اون فایل، مقدار renderer رو برابر NetworkManager بذار. مثلاً:

network:
  version: 2
  renderer: NetworkManager


3. بعدش فایل رو ذخیره کن و از نت‌پلن بخواه که تنظیمات جدید رو اعمال کنه:

sudo netplan apply

از این به بعد، مدیریت شبکه به جای systemd-networkd یا networkd، به NetworkManager سپرده می‌شه. حالا می‌تونی با ابزارهایی مثل nmcli یا محیط گرافیکی شبکه رو مدیریت کنی.👌


کانال تلگرام IT Guys
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
ما از صفر شروع کردیم👊
کانال تلگرام IT Guys
8
👍5
کتاب زیر ذره بین📕🔍

Docker Deep Dive - Chapter 1 Episode 5

خب توی قسمت قبلی رسیدی به این که چجوری یک ایمیج رو از هاب بگیریم ، یه نکته هم در مورد مشکل احتمالی توی دریافت ایمیج گفتم ، اینم گفتم که هنوز توی بخش Ops هستیم🥱

حالا که ایمیج رو گرفتیم ، چجوری کانتینر رو بسازیم ؟؟
نکته ، شاید بنظر برسه که خیلی کلی داره توضیح داده میشه ، اما به روند کتاب اعتماد کنید ، بعدا لایه ها و ساختار کلی رو کتاب توضیح میده😉

توی داکر جهت ایجاد یک کانتینر بر پایه ی اون ایمیجی که گرفتیم باید از دستور زیر استفاده کنیم :
docker run -it ubuntu:latest /bin/bash

وقتی این دستور رو بزنید ، متوجه میشید که محیط خط فرمان شما تغییر کرده ، و انگار وارد یک محیط دیگری شیدید ، چجوری؟
مثلا تا الان بخش پرامپت شما بوده :
root@it_guys:
حالا شده :
root@321dfg456dfg:/#
چرا؟ چون شما وارد کانتینری شدید که الان ساختید📦
چجوری ؟ با آپشن -it که توی دستور زدید این اتفاق افتاد ، ینی گفتید که میخوام با کانتینر به صورت interactive تعامل داشته باشم و اتچ شدید به کانتینر . حالا اگر داخل کانتینر دستور زیر رو بزنید :
root@321dfg456dfg:/# ps -elf

لیست پروسس هایی که الان داخل کانتینر درحال اجرا هست رو بهتون نمایش میده :
4 S root   1   0   0  -   4560  -   09:00  pts/0   /bin/bash
0 S root 9 1 0 - 8606 - 09:00 pts/0 ps -elf

تحلیل این خروجی این هست که شما موقعی که داشتید کانتینر رو ایجاد میکردید ، بهش فرمان دادید که پروسس /bin/bash رو اجرا کن ، وهمینطور که میبینید کانتینر هیچ وظیفه ی دیگه ای جز اجرا کردن این پروسس نداره ، بعدش هم رفتیم داخلش و دستور نمایش پروسس هارو زدیم ps -elf و یک پروسس دیگه داخلش اجرا کردیم
نکته ی مهم ، یک کانتینر تنها تا زمانی زنده هست که پروسسی داخلش درحال اجرا باشه

اگر بخواید از کانتینر خارج بشید بدون اینکه پروسس رو داخلش kill کنید ، از کلید های ترکیبی ctrl + pq استفاده کنید ، درواقع شما دی اتچ کردید خودتون رو .

برای اینکه بخواید لیست کانتینر های ایجاد شده رو هم ببینید ( اون هایی که الان up هستند ):
docker container ls


#بررسی_کتاب
کانال تلگرام IT Guys
👍7
فرق بین su و  - su  تو لینوکس چیه؟🤔


وقتی میزنی
su
فقط کاربر به root تغییر می‌کنه، ولی محیط (environment) کاربر قبلی حفظ می‌شه؛ یعنی متغیرهایی مثل PATH, HOME, و SHELL تغییر نمی‌کنن.

اما با
su -

انگار واقعا به صورت لاگین‌شده وارد root شدی. محیط کاملاً به root تغییر می‌کنه، طوری که انگار از اول با root وارد شدی.
--------

حالا اصن چرا یه همچین چیزی وجود داره وقتی محیط عوض نمیشه ولی کاربر عوض میشه چه فایده‌ای داره؟🧐

این موضوع مهمه چون مثلاً وقتی می‌خوای python3 اجرا کنی، اگه با su وارد شده باشی، ممکنه هنوز به نسخه‌ی یوزر قبلیت ارجاع بده. ولی با su - مسیر به
/usr/bin/python3

یا مسیر اصلی root می‌ره.

پس اگه می‌خوای سریع یه دستور مدیریتی بزنی و نمی‌خوای محیطت عوض شه، su کفایت می‌کنه.
ولی برای اجرای ابزارهای سیستمی با محیط کامل و درست، همیشه از su - استفاده کن. 👊😉


کانال تلگرام IT Guys
👍101
Forwarded from KALI
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from KALI
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from The Chaos
SQL Injection HandBook.pdf
6.3 MB
✏️ مقاله ترجمه شده
SQL Injection HandBook


🪧کانال ما :
The Chaos

#SQL_Injection #OWASP #CyberSecurity #Article
👍5
اگر با certbot سرتیفیکیت گرفتید با دستور زیر ببینید چقدر تا زمان انقضا مونده:
sudo certbot certificates


کانال تلگرام IT Guys
👍6
Milad Mahmoodian
اگه میخوای لیست تمام یوزر هایی که عضو گروه Sudo هستند رو پیدا کنی : getent group sudo | cut -d: -f4
جهت حذف یک یوزر خاص :

اول بهتره یوزر لاگ اوت کنه یا اگر نبود ، تمام پروسس هایی که اجرا کرده رو ببندیم :
sudo pkill -u "USERNAME"

بعدش برای حذف یوزر از گروه sudo :
sudo deluser "USERNAME" sudo

و در نهایت جهت حذف یوزر :
sudo deluser "USERNAME"

و حذف یوزر با دایرکتوری او :
sudo deluser --remove-home "USERNAME"

جهت بررسی اینکه کاربر وجود دارد یا خیر :
id "USERNAME"


کانال تلگرام IT Guys
👍11
Forwarded from KALI
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from KALI
Please open Telegram to view this post
VIEW IN TELEGRAM
جهت بررسی IP Public توی محیط CLI :
curl https://checkip.amazonaws.com
👍7
apt update && apt -y install shadowsocks-libev

cat | tee /etc/shadowsocks-libev/config.json <<EOF
{
    "server":["0.0.0.0", "::"],
    "mode":"tcp_and_udp",
    "server_port":9723,
    "local_port":1080,
    "password":"AJTEemKqxSFjUZSamYXtJMVc",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305"
}
EOF

systemctl enable shadowsocks-libev --now

👾کانال تلگرام IT Guys
👍6
🤣6🥰31👍1
تاحالا چیزی در مورد Capability تو لینوکس شنیدین؟

توی لینوکس ، اجرا شدن هر چیزی نیازمنده داشتن Capability مربوط به اون کاریه که میخواد انجام بده ، مثلا چی؟
مثلا ping که یک موضوع ساده ای هست ، برای اینکه اجرا بشه ، باید بتونه یک سوکت خام ایجاد کنه ، باز کردن یک سوکت خام ؛ نیازمنده داشتن Capability مربوطه هست که اسمش :
CAP_NET_RAW

حالا بعد از داشتن این Capability ، بحث مالکیت فایل میاد وسط ، چرا؟ چون اگر فایل یا پروسسی Capability مربوطه رو داشته باشه ، آیا هر کاربرای میتونه اجراش کنه؟ نه ، فقط مالک میتونه اون فایل رو اجرا کنه ، اون فایل با توجه به Capability که بدست آورده میتونه کارش رو انجام بده .

حالا چرا این Capability بوجود اومد؟
قدیما ، یا شما کاربر root بودی ، یا non-root ، اگر root بودی که هیچی ، بحثی روی این نیست.
اما اگر کاربر عادی بودی ، جهت اجرای برنامه ها یا پکیج ها نیاز به دسترسی کامل root داشتی ، حتی زمانی که یک برنامه ی ساده میخوای اجرا کنی ، و فقط ممکنه بخواد مثل ping یک سوکت خام باز کنه ، اون وقتی دسترسی root میدادی ؛ در واقع به اون پروسس ، یک عالمه دسترسی های دیگه هم میدادی که اصلا بهشون نیاز نداشت .

اینجا بود که Capabilities اومد گفت:
"به جای اینکه کل برنامه رو root کنیم، فقط اون دسترسی‌ای که لازم داره رو بدیم بهش!"
مثلاً به یه برنامه فقط CAP_NET_BIND_SERVICE بدیم، که بتونه پورت 80 رو باز کنه، ولی نتونه فایل‌های مهم رو پاک کنه یا پسوردها رو بخونه.

خلاصه گفتم اما اگه جالب بود براتون توضیحات مفصلی توی مقاله ای که اینجا لینکش کردم هست که میتونید بخونید و یه لول توی بحث کارکردن با لینوکس عمیق تر بشید ، چون نکته ی مهمیه که خودم تازه فهمیدم ، و در صورتی که درست نتونیم برنامه ای رو از لحاظ سطح دسترسی پیکربندی کنیم ؛ مهاجم میاد دنبال برنامه هایی میگرده که با سطح دسترسی root ایجاد شدن ، و دنبال نقطه ضعف توی ساختار اون برنامه میگرده ، اگر پیدا کرد نفوذ میکنه ، و حالا با اون برنامه هر اقدامی رو انجام بده ، به عنوان یک دسترسی root همه چی انجام میشه .

کانال تلگرام IT Guys
👍102
Before capabilities, we only had the binary system of privileged and non-privileged processes and for the purpose of performing permission checks, traditional UNIX implementations distinguish two categories of processes: privileged processes that referred as superuser or root and unprivileged processes (whose effective UID is nonzero).

کانال تلگرام IT Guys
👍8
اگه اومدی یوزر توی لینوکس درست کردی ولی بهش دایرکتوری ندادی ، کامند های زیر رو بزن

1- ساخت دایرکتوری هوم
sudo mkdir /home/itguys


2- دادن مالکیت به کاربر
sudo chown itguys /home/itguys


3- کپی فایل‌های اسکلت
sudo cp -r /etc/skel/. /home/itguys/
sudo chown -R itguys /home/itguys/



حالا ان کارارو کردی ، اما با اون کاربر وارد شدی ولی دیدی پرامپتت فقط یک $ ساده هست ، به احتمال زیاد شما روی Shell = /bin/sh هستید
امکانات /bin/bash رو نداره
اگر بخوای شل بره روی bash
chsh -s /bin/bash


بعد یکبار یوزرت رو لاگ اوت کن و دوباره وارد شو

👾کانال تلگرام IT Guys
8👍3