Merhabalar ben Anka Red Team'den Bunjo,
Bu yazıda konumuz Ruby programlama dilinde IP karmaşıklaştırma işlemi olacaktır.
IP Obfuscating
IP obfuscating, bir IP adresinin gerçek değerini gizlemek veya maskelemek için kullanılan bir tekniktir. Bu teknik, genellikle gizlilik, güvenlik veya anonimlik gerektiren durumlarda kullanılır.
IP obfuscating'in birkaç farklı yöntemi vardır:
Proxy kullanımı: İnternet üzerinde gezinirken IP adresinizi gizlemek için proxy sunucuları kullanabilirsiniz. Proxy sunucuları, kullanıcının gerçek IP adresini saklayarak, internete bağlanırken kendi IP adreslerini kullanır. Böylece, kullanıcı gerçek IP adresini gizlemiş olur.
Tor ağı: Tor ağı, kullanıcıların internete anonim bir şekilde bağlanmasını sağlayan bir ağdır. Tor ağı, trafik yönlendirmesini farklı düğümler arasında dolaştırarak kullanıcının gerçek IP adresini gizler.
IP adresini değiştirme: Bazı durumlarda, kullanıcılar IP adreslerini değiştirerek gizliliklerini artırabilirler. Bu, genellikle dinamik IP adresi kullanan internet servis sağlayıcıları (ISP) tarafından kolayca yapılabilir.
IP masking yazılımları: Özel yazılımlar, kullanıcıların IP adreslerini gizlemelerine veya değiştirmelerine yardımcı olabilir. Bu yazılımlar, kullanıcının gerçek IP adresini sunuculara göndermek yerine, sahte veya rastgele bir IP adresi gönderir.
IP obfuscating, kullanıcıların internet üzerinde anonimliğini korumasına veya çevrimiçi aktivitelerini gizlemesine yardımcı olabilir. Ancak, bu tekniklerin tamamen güvenli veya %100 anonim olduğunu garanti etmek mümkün değildir. Bazı durumlarda, ileri düzeyde izleme veya analiz teknikleriyle gerçek IP adresiniz tespit edilebilir.
Ruby'de IP Addr Sınıfı
IP obfuscating, bir IP adresinin gerçek değerini gizlemek veya maskelemek için kullanılan bir tekniktir. Bu teknik, genellikle gizlilik, güvenlik veya anonimlik gerektiren durumlarda kullanılır.
IP obfuscating'in birkaç farklı yöntemi vardır:
Proxy kullanımı: İnternet üzerinde gezinirken IP adresinizi gizlemek için proxy sunucuları kullanabilirsiniz. Proxy sunucuları, kullanıcının gerçek IP adresini saklayarak, internete bağlanırken kendi IP adreslerini kullanır. Böylece, kullanıcı gerçek IP adresini gizlemiş olur.
Tor ağı: Tor ağı, kullanıcıların internete anonim bir şekilde bağlanmasını sağlayan bir ağdır. Tor ağı, trafik yönlendirmesini farklı düğümler arasında dolaştırarak kullanıcının gerçek IP adresini gizler.
IP adresini değiştirme: Bazı durumlarda, kullanıcılar IP adreslerini değiştirerek gizliliklerini artırabilirler. Bu, genellikle dinamik IP adresi kullanan internet servis sağlayıcıları (ISP) tarafından kolayca yapılabilir.
IP masking yazılımları: Özel yazılımlar, kullanıcıların IP adreslerini gizlemelerine veya değiştirmelerine yardımcı olabilir. Bu yazılımlar, kullanıcının gerçek IP adresini sunuculara göndermek yerine, sahte veya rastgele bir IP adresi gönderir.
IP obfuscating, kullanıcıların internet üzerinde anonimliğini korumasına veya çevrimiçi aktivitelerini gizlemesine yardımcı olabilir. Ancak, bu tekniklerin tamamen güvenli veya %100 anonim olduğunu garanti etmek mümkün değildir. Bazı durumlarda, ileri düzeyde izleme veya analiz teknikleriyle gerçek IP adresiniz tespit edilebilir.
Ruby'de IP Addr Sınıfı
Ruby:
#!/usr/bin/env ruby
# gem install async-await
require 'ipaddr'
ipaddr = "192.168.1.37"
ip_octets = ipaddr.split('.').map(&:to_i)
ip = IPAddr.new(ipaddr)
puts "{+} IP to Decimal"
puts "http://" + ip.to_i.to_s
puts "\n{+} IP to Hex"
puts "http://" + sprintf("0x%02x", ip.to_i)
puts "\n{+} IP to Hex/octet"
puts "http://" + ip_octets.map {|octet| sprintf("0x%02x", octet)}.join('.')
puts "http://" + ip_octets.map {|octet| sprintf("0x%08x", octet)}.join('.')
puts "\n{+} IP to Octal"
puts "http://" + sprintf("0%08o", ip.to_i)
puts "\n{+} IP to Octal/octet"
puts "http://" + ip_octets.map {|octet| sprintf("0%o", octet)}.join('.')
puts "http://" + ip_octets.map {|octet| sprintf("0%08o", octet)}.join('.')
puts "\n{+} IPv4 mapping into IPv6:"
puts "http://" + ip.ipv4_compat.to_string
puts "http://" + ip.ipv4_mapped.to_string
#!/usr/bin/env ruby: Bu satır, Unix/Linux tabanlı sistemlerde betiğin Ruby ile çalıştırılmasını sağlar.
require 'ipaddr': Bu satır, IP adreslerini işlemek için gereken ipaddr kütüphanesini içe aktarır.
ipaddr = "192.168.1.37": Bu satır, işlenecek IP adresini bir değişkene atar.
ip_octets = ipaddr.split('.').map(&:to_i): IP adresinin her bir oktetini (192, 168, 1, 37) ayırır ve onları bir diziye dönüştürür.
ip = IPAddr.new(ipaddr): Bu satır, IPAddr sınıfını kullanarak bir IP adresi oluşturur.
puts "{+} IP to Decimal": Konsola bir başlık yazdırır.
puts "http://" + ip.to_i.to_s: IP adresini ondalık (decimal) sayı sisteminde ifade eder ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + sprintf("0x%02x", ip.to_i): IP adresini onaltılık (hexadecimal) sayı sisteminde ifade eder ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + ip_octets.map {|octet| sprintf("0x%02x", octet)}.join('.'): IP adresinin her bir oktetini onaltılık (hexadecimal) sayı sisteminde ifade eder ve "." ile birleştirerek konsola yazdırır.
puts "http://" + sprintf("0%08o", ip.to_i): IP adresini sekizli (octal) sayı sisteminde ifade eder ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + ip_octets.map {|octet| sprintf("0%o", octet)}.join('.'): IP adresinin her bir oktetini sekizli (octal) sayı sisteminde ifade eder ve "." ile birleştirerek konsola yazdırır.
puts "http://" + ip.ipv4_compat.to_string: IPv4 adresini IPv6 uyumlu formata dönüştürür ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + ip.ipv4_mapped.to_string: IPv4 adresini IPv6'a eşlemek için kullanılan formatı oluşturur ve "http://" ile birleştirerek konsola yazdırır.
Çıktı:
require 'ipaddr': Bu satır, IP adreslerini işlemek için gereken ipaddr kütüphanesini içe aktarır.
ipaddr = "192.168.1.37": Bu satır, işlenecek IP adresini bir değişkene atar.
ip_octets = ipaddr.split('.').map(&:to_i): IP adresinin her bir oktetini (192, 168, 1, 37) ayırır ve onları bir diziye dönüştürür.
ip = IPAddr.new(ipaddr): Bu satır, IPAddr sınıfını kullanarak bir IP adresi oluşturur.
puts "{+} IP to Decimal": Konsola bir başlık yazdırır.
puts "http://" + ip.to_i.to_s: IP adresini ondalık (decimal) sayı sisteminde ifade eder ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + sprintf("0x%02x", ip.to_i): IP adresini onaltılık (hexadecimal) sayı sisteminde ifade eder ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + ip_octets.map {|octet| sprintf("0x%02x", octet)}.join('.'): IP adresinin her bir oktetini onaltılık (hexadecimal) sayı sisteminde ifade eder ve "." ile birleştirerek konsola yazdırır.
puts "http://" + sprintf("0%08o", ip.to_i): IP adresini sekizli (octal) sayı sisteminde ifade eder ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + ip_octets.map {|octet| sprintf("0%o", octet)}.join('.'): IP adresinin her bir oktetini sekizli (octal) sayı sisteminde ifade eder ve "." ile birleştirerek konsola yazdırır.
puts "http://" + ip.ipv4_compat.to_string: IPv4 adresini IPv6 uyumlu formata dönüştürür ve "http://" ile birleştirerek konsola yazdırır.
puts "http://" + ip.ipv4_mapped.to_string: IPv4 adresini IPv6'a eşlemek için kullanılan formatı oluşturur ve "http://" ile birleştirerek konsola yazdırır.
Çıktı:
Ruby:
/bin/ruby /root/RubymineProjects/Ruby/main.rb
{+} IP to Decimal
http://3232235813
{+} IP to Hex
http://0xc0a80125
{+} IP to Hex/octet
http://0xc0.0xa8.0x01.0x25
http://0x000000c0.0x000000a8.0x00000001.0x00000025
{+} IP to Octal
http://030052000445
{+} IP to Octal/octet
http://0300.0250.01.045
http://000000300.000000250.000000001.000000045
{+} IPv4 mapping into IPv6:
http://0000:0000:0000:0000:0000:0000:c0a8:0125
http://0000:0000:0000:0000:0000:ffff:c0a8:0125
Process finished with exit code 0
İyi forumlar.